MongoDB\Driver\BulkWriteCommandResult::getInsertResults

Returns verbose results for successful inserts

説明

final public MongoDB\BSON\Documentnull MongoDB\Driver\BulkWriteCommandResult::getInsertResults()

Since _id fields for inserted documents are generated by the extension, the value of insertedId in each result will match the return value of MongoDB\Driver\BulkWriteCommand::insertOne for the corresponding insert operation.

パラメータ

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

戻り値

Returns a document containing the result of each successful insert operation, or null if verbose results were not requested. The document keys will correspond to the index of the write operation from MongoDB\Driver\BulkWriteCommand.

エラー / 例外

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\LogicException if the write was not acknowledged.

例1 MongoDB\Driver\BulkWriteCommandResult::getInsertResults example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWriteCommand(['verboseResults' => true]);

$generatedId = $bulk->insertOne('db.coll', ['x' => 1]);

$bulk->updateOne('db.coll', ['x' => 1], ['$set' => ['y' => 3]]);
$bulk->updateOne('db.coll', ['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->updateOne('db.coll', ['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->deleteMany('db.coll', []);

$result = $manager->executeBulkWriteCommand($bulk);

var_dump($generatedId);

var_dump($result->getInsertResults()->toPHP());

?>

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

object(MongoDB\BSON\ObjectId)#3 (1) {
  ["oid"]=>
  string(24) "67f7ee69783dcce702097b41"
}
object(stdClass)#8 (1) {
  ["0"]=>
  object(stdClass)#7 (1) {
    ["insertedId"]=>
    object(MongoDB\BSON\ObjectId)#6 (1) {
      ["oid"]=>
      string(24) "67f7ee69783dcce702097b41"
    }
  }
}

参考

  • MongoDB\Driver\BulkWriteCommandResult::getInsertedCount
  • MongoDB\Driver\BulkWriteCommandResult::isAcknowledged
  • MongoDB\Driver\BulkWriteCommand::insertOne