(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult — Devuelve el resultado de todas las operaciones de escritura exitosas
Esta función no tiene parámetros.
Devuelve un MongoDB\Driver\BulkWriteCommandResult
que proporciona los resultados de cada una de las operaciones exitosas que se realizaron antes
de que se encontrara el error. El valor devuelto será null
si no se puede
determinar si al menos una escritura se realizó con éxito (y
fue reconocida).
Ejemplo #1 Resultado parcial si al menos una escritura es exitosa
<?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());
?>
El resultado del ejemplo sería:
int(1)
Ejemplo #2 Ningún resultado parcial si ninguna escritura es exitosa
<?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());
?>
El resultado del ejemplo sería:
NULL