MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrorsReturns any write errors that occurred

说明

final public MongoDB\Driver\WriteResult::getWriteErrors ( void ) : array

参数

此函数没有参数。

返回值

Returns an array of MongoDB\Driver\WriteError objects for any write errors encountered during the write operation. The array will be empty if no write errors occurred.

错误/异常

范例

Example #1 MongoDB\Driver\WriteResult::getWriteErrors() with a single error

<?php

$manager 
= new MongoDB\Driver\Manager;

/* By default, bulk write operations are executed serially in order and
 * execution will stop after the first error.
 */
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    
$result $manager->executeBulkWrite('db.collection'$bulk);
} catch (
MongoDB\Driver\Exception\BulkWriteException $e) {
    
var_dump($e->getWriteResult()->getWriteErrors());
}

?>

以上例程的输出类似于:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
}

Example #2 MongoDB\Driver\WriteResult::getWriteErrors() with multiple errors

<?php

$manager 
= new MongoDB\Driver\Manager;

/* The "ordered" option may be used to allow bulk write operations to continue
 * executing after the first error is encountered.
 */
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
    
$result $manager->executeBulkWrite('db.collection'$bulk);
} catch (
MongoDB\Driver\Exception\BulkWriteException $e) {
    
var_dump($e->getWriteResult()->getWriteErrors());
}

?>

以上例程的输出类似于:

array(2) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
  [1]=>
  object(MongoDB\Driver\WriteError)#6 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(5)
    ["info"]=>
    NULL
  }
}
相关文章
php imap 函数 returns all of the imap errors that have occurredphp mongodb bson binary returns a representation that can be converted to jsonphp mongodb driver cursor returns the id for this cursorphp mongodb driver cursor returns the server associated with this cursorphp mongodb driver monitoring commandstartedevent returns the server on which the command was executedphp mongodb driver readpreference returns the readpreference s maxstalenessseconds optionphp mongodb driver server returns an array of tags describing this server in a replica setphp mongodb driver writeerror returns the writeerror s error codephp mongodb driver writeerror returns the index of the write operation corresponding to this writeerrorphp mongodb driver exception writeexception returns the writeresult for the failed write operationphp mongodb driver writeresult returns the number of documents deletedphp mongodb driver writeresult returns the number of documents inserted excluding upserts php mongodb driver writeresult returns the number of documents selected for updatephp mongodb driver writeresult returns the number of existing documents updatedphp mongodb driver writeresult returns the server associated with this write resultphp mongodb driver writeresult returns the number of documents inserted by an upsertphp mongodb driver writeresult returns an array of identifiers for upserted documentsphp mongodb driver writeresult returns any write concern error that occurredphp mongodb driver writeresult returns any write errors that occurredphp mongodb driver writeresult returns whether the write was acknowledged
关注编程学问公众号