MongoDB\Driver\WriteResult
PHP Manual

MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrorsRetourne toutes les erreurs d'écriture qui se sont produites

Description

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

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne un tableau d'objets MongoDBDriverWriteError pour toutes les erreurs d'écriture rencontrées pendant l'opération d'écriture. Le tableau sera vide si aucune erreur d'écriture n'est survenue.

Erreurs / Exceptions

Exemples

Exemple #1 MongoDB\Driver\WriteResult::getWriteErrors() avec une seule erreur

<?php

$manager 
= new MongoDB\Driver\Manager;

/* Par défaut, les opérations d'écriture en bloc sont exécutées en série dans 
 * l'ordre et l'exécution s'arrêtera après la première erreur.
 */
$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());
}


?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

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

Exemple #2 MongoDB\Driver\WriteResult::getWriteErrors() avec plusieurs erreurs

<?php

$manager 
= new MongoDB\Driver\Manager;

/* L'option "ordered" peut être utilisée pour permettre aux opérations 
 * d'écriture en bloc de continuer à s'exécuter après la première erreur.
 */
$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());
}

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

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

Voir aussi


MongoDB\Driver\WriteResult
PHP Manual