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