(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult — Renvoie le résultat de toutes les opérations d'écriture réussies
Cette fonction ne contient aucun paramètre.
Renvoie un MongoDB\Driver\BulkWriteCommandResult
apportant les résultats de chacune des opérations réussies qui ont été fait avant
que l'erreur ne soit rencontrée. La valeur de retournée sera null
si on ne peut
pas déterminer si au moins une écriture a été effectuée avec succès (et
reconnue).
Exemple #1 Résultat partiel si au moins une écriture est réussie
<?php
$manager = new MongoDB\Driver\Manager;
$bulk = new MongoDB\Driver\BulkWriteCommand;
$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$bulk->insertOne('db.coll', ['_id' => 1]);
try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
$result = $e->getPartialResult();
}
var_dump($result?->getInsertedCount());
?>
L'exemple ci-dessus va afficher :
int(1)
Exemple #2 Aucun résultat partiel si aucune écriture n'est réussie
<?php
$manager = new MongoDB\Driver\Manager;
$bulk = new MongoDB\Driver\BulkWriteCommand;
$bulk->deleteMany('db.coll', []);
$bulk->insertOne('db.coll', ['_id' => 1]);
$manager->executeBulkWriteCommand($bulk);
$bulk = new MongoDB\Driver\BulkWriteCommand;
$bulk->insertOne('db.coll', ['_id' => 1]);
try {
$result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
$result = $e->getPartialResult();
}
var_dump($result?->getInsertedCount());
?>
L'exemple ci-dessus va afficher :
NULL