MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrorsDevuelve todos los errores de escritura que se han producido

Descripción

final public MongoDB\Driver\WriteResult::getWriteErrors(): array

Parámetros

Esta función no tiene parámetros.

Valores devueltos

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.

Errores/Excepciones

Ejemplos

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
  }
}
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top