(mongodb >=2.1.0)
MongoDB\Driver\BulkWriteCommandResult::getUpdateResults — Возвращает подробную информацию о результатах успешных операций обновления
У этой функции нет параметров.
Метод возвращает документ, который содержит результаты каждой успешной операции
обновления, или null
, если подробные результаты не запрашивались. Ключи
документа соответствуют индексу операции записи
из объекта MongoDB\Driver\BulkWriteCommand.
Пример #1 Пример получения подробных результатов об операциях обновления методом MongoDB\Driver\BulkWriteCommandResult::getUpdateResults()
<?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" } } }