(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult — Возвращает результаты успешных операций записи
Сигнатура функции не содержит параметров.
Метод возвращает объект MongoDB\Driver\BulkWriteCommandResult
с результатами успешных операций, которые выполнились,
прежде чем возникла ошибка. Метод вернёт значение null
, если невозможно
определить, что хотя бы одна запись выполнилась успешно
и сервер подтвердил запись.
Пример #1 Пример получения частичного результата, если хотя бы одна запись выполнилась успешно
<?php
$manager = new MongoDB\Driver\Manager();
$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 1]);
try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
$result = $e->getPartialResult();
}
var_dump($result?->getInsertedCount());
?>
Результат выполнения приведённого примера:
int(1)
Пример #2 Пример получения частичного результата, когда ни одна запись не выполнилась успешно
<?php
$manager = new MongoDB\Driver\Manager();
$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$manager->executeBulkWriteCommand($bulk);
$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->insertOne('db.coll', ['_id' => 1]);
try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
$result = $e->getPartialResult();
}
var_dump($result?->getInsertedCount());
?>
Результат выполнения приведённого примера:
NULL