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