MongoDB\Driver\Exception\WriteException::getWriteResult

Returns the WriteResult for the failed write operation

説明

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

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
  }
}

参考

  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\Manager::executeBulkWrite