(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getWriteErrors — Devuelve todos los errores de escritura que se han producido
Esta función no tiene parámetros.
Devuelve un array de objetos MongoDBDriverWriteError para todos los errores de escritura encontrados durante la operación de escritura. El array estará vacío si no se ha producido ningún error de escritura.
Ejemplo #1 MongoDB\Driver\WriteResult::getWriteErrors() con un solo error
<?php
$manager = new MongoDB\Driver\Manager;
/* Por omisión, las operaciones de escritura en bloque se ejecutan en serie en
* el orden y la ejecución se detendrá después del primer error.
*/
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);
try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}
?>
El resultado del ejemplo sería algo similar a:
array(1) { [0]=> object(MongoDB\Driver\WriteError)#5 (4) { ["message"]=> string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }" ["code"]=> int(11000) ["index"]=> int(2) ["info"]=> NULL } }
Ejemplo #2 MongoDB\Driver\WriteResult::getWriteErrors() con múltiples errores
<?php
$manager = new MongoDB\Driver\Manager;
/* La opción "ordered" puede ser utilizada para permitir que las operaciones
* de escritura en bloque continúen ejecutándose después del primer error.
*/
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);
try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}
?>
El resultado del ejemplo sería algo similar a:
array(2) { [0]=> object(MongoDB\Driver\WriteError)#5 (4) { ["message"]=> string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }" ["code"]=> int(11000) ["index"]=> int(2) ["info"]=> NULL } [1]=> object(MongoDB\Driver\WriteError)#6 (4) { ["message"]=> string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }" ["code"]=> int(11000) ["index"]=> int(5) ["info"]=> NULL } }