(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult — Returns the result of any successful write operations
Diese Funktion besitzt keine Parameter.
Returns a MongoDB\Driver\BulkWriteCommandResult
reporting the result of any successful operations that were performed before
the error was encountered. The return value will be null
if it cannot be
determined that at least one write was successfully performed (and
acknowledged).
Beispiel #1 Partial result if at least one write is successful
<?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());
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
int(1)
Beispiel #2 No partial result if no writes are successful
<?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());
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
NULL