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