MongoDB\Driver\WriteResult: : getWriteErrors
(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getWriteErrors — Retourne toutes les erreurs d'écriture qui se sont produites
Description
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
- Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
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 } }
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb-driver-writeresult.getwriteerrors.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.