(mongodb >=2.1.0)
MongoDB\Driver\BulkWriteCommandResult::getUpdateResults — Returns verbose results for successful updates
この関数にはパラメータはありません。
Returns a document containing the result of each successful update
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.
例1 MongoDB\Driver\BulkWriteCommandResult::getUpdateResults() example
<?php
$manager = new MongoDB\Driver\Manager;
$bulk = new MongoDB\Driver\BulkWriteCommand(['verboseResults' => true]);
$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($result->getUpdateResults()->toPHP());
?>
上の例の出力は、 たとえば以下のようになります。
object(stdClass)#16 (3) { ["1"]=> object(stdClass)#7 (2) { ["matchedCount"]=> object(MongoDB\BSON\Int64)#5 (1) { ["integer"]=> string(1) "1" } ["modifiedCount"]=> object(MongoDB\BSON\Int64)#6 (1) { ["integer"]=> string(1) "1" } } ["2"]=> object(stdClass)#11 (3) { ["matchedCount"]=> object(MongoDB\BSON\Int64)#8 (1) { ["integer"]=> string(1) "1" } ["modifiedCount"]=> object(MongoDB\BSON\Int64)#9 (1) { ["integer"]=> string(1) "0" } ["upsertedId"]=> object(MongoDB\BSON\ObjectId)#10 (1) { ["oid"]=> string(24) "67f7eb9b1f198bbcb880d575" } } ["3"]=> object(stdClass)#15 (3) { ["matchedCount"]=> object(MongoDB\BSON\Int64)#12 (1) { ["integer"]=> string(1) "1" } ["modifiedCount"]=> object(MongoDB\BSON\Int64)#13 (1) { ["integer"]=> string(1) "0" } ["upsertedId"]=> object(MongoDB\BSON\ObjectId)#14 (1) { ["oid"]=> string(24) "67f7eb9b1f198bbcb880d576" } } }