(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getWriteErrors — Возвращает ошибки записи
Сигнатура функции не содержит параметров.
Массив ошибок MongoDB\Driver\WriteError, которые возникли при выполнении отдельных операций записи. Ключи массива соответствуют индексу операции записи из объекта MongoDB\Driver\BulkWriteCommand. Карта содержит не больше одной записи для упорядоченной массовой записи.
Пример #1 Пример получения ошибки записи методом MongoDB\Driver\Exception\BulkWriteCommandException::getWriteErrors()
<?php
$manager = new MongoDB\Driver\Manager();
$bulk = new MongoDB\Driver\BulkWriteCommand(['ordered' => false]);
$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 1]);
try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
var_dump($e->getWriteErrors());
}
?>
Вывод приведённого примера будет похож на:
array(2) { [2]=> object(MongoDB\Driver\WriteError)#5 (4) { ["message"]=> string(78) "E11000 duplicate key error collection: db.coll index: _id_ dup key: { _id: 1 }" ["code"]=> int(11000) ["index"]=> int(2) ["info"]=> object(stdClass)#6 (0) { } } [3]=> object(MongoDB\Driver\WriteError)#7 (4) { ["message"]=> string(78) "E11000 duplicate key error collection: db.coll index: _id_ dup key: { _id: 1 }" ["code"]=> int(11000) ["index"]=> int(3) ["info"]=> object(stdClass)#8 (0) { } } }