MongoDB\Driver\Exception\WriteException::getWriteResult

(mongodb >= 1.0.0)

MongoDB\Driver\Exception\WriteException::getWriteResultReturns the WriteResult for the failed write operation

説明

final public MongoDB\Driver\Exception\WriteException::getWriteResult ( void ) : MongoDB\Driver\WriteResult

Returns the MongoDB\Driver\WriteResult for the failed write operation. The MongoDB\Driver\WriteResult::getWriteErrors() and MongoDB\Driver\WriteResult::getWriteConcernError() methods may be used to get more details about the failure.

パラメータ

この関数にはパラメータはありません。

返り値

The MongoDB\Driver\WriteResult for the failed write operation.

例1 MongoDB\Driver\Exception\WriteException::getWriteResult() example

<?php

$manager 
= new MongoDB\Driver\Manager('mongodb://localhost');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
    
$manager->executeBulkWrite('db.collection'$bulk);
} catch (
MongoDB\Driver\Exception\WriteException $e) {
    
$writeResult $e->getWriteResult();

    if (
$writeConcernError $writeResult->getWriteConcernError()) {
        
var_dump($writeConcernError);
    }

    if (
$writeErrors $writeResult->getWriteErrors()) {
        
var_dump($writeErrors);
    }
}

?>

上の例の出力は、 たとえば以下のようになります。

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

参考