php8.5
Home/ Manual/ exception / bulkwritecommandexception/ MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult

MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult

PHP function Edit on GitHub ✎

(mongodb >=2.1.0)

Returns the result of any successful write operations

Description

MongoDB\Driver\Exception\BulkWriteCommandException::getPartialResult(): MongoDB\Driver\BulkWriteCommandResult|null

Parameters Parameters

Return Values

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).

Examples

Partial result if at least one write is successful

php
<?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());

?>

The above example will output:

output
int(1)

No partial result if no writes are successful

php
<?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());

?>

The above example will output:

output
NULL

See Also

Source: reference/mongodb/mongodb/driver/exception/bulkwritecommandexception/getpartialresult.xml · from the official PHP manual (php/doc-en)