CakeFest 2024: The Official CakePHP Conference

MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

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

Description

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

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

  • 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());
}


?>

Résultat de l'exemple ci-dessus est 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());
}

?>

Résultat de l'exemple ci-dessus est 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
  }
}
add a note

User Contributed Notes

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