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

MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply

PHP function Edit on GitHub ✎

(mongodb >=2.1.0)

Returns any top-level command error

Description

MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply(): MongoDB\BSON\Document|null

Parameters Parameters

Return Values

Returns any top-level error that occurred when attempting to communicate with the server or execute the bulk write. This value may be null if the exception was thrown due to errors occurring on individual writes.

Examples

MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply() example

php
<?php

$manager = new MongoDB\Driver\Manager;

// This example uses configureFailPoint to simulate a top-level command error
$manager->executeCommand('admin', new MongoDB\Driver\Command([
    'configureFailPoint' => 'failCommand',
    'mode' => ['times' => 1],
    'data' => [
        'failCommands' => ['bulkWrite'],
        'errorCode' => 8, /* UnknownError */
    ],
]));

$bulk = new MongoDB\Driver\BulkWriteCommand;
$bulk->insertOne('db.coll', ['x' => 1]);

try {
    $result = $manager->executeBulkWriteCommand($bulk);
} catch (MongoDB\Driver\Exception\BulkWriteCommandException $e) {
    var_dump($e->getErrorReply()?->toPHP());
}

?>

The above example will output something similar to:

output
object(stdClass)#12 (6) {
  ["ok"]=>
  float(0)
  ["errmsg"]=>
  string(43) "Failing command via 'failCommand' failpoint"
  ["code"]=>
  int(8)
  ["codeName"]=>
  string(12) "UnknownError"
  ["$clusterTime"]=>
  object(stdClass)#10 (2) {
    ["clusterTime"]=>
    object(MongoDB\BSON\Timestamp)#6 (2) {
      ["increment"]=>
      string(1) "7"
      ["timestamp"]=>
      string(10) "1744319389"
    }
    ["signature"]=>
    object(stdClass)#9 (2) {
      ["hash"]=>
      object(MongoDB\BSON\Binary)#7 (2) {
        ["data"]=>
        string(20) ""
        ["type"]=>
        int(0)
      }
      ["keyId"]=>
      object(MongoDB\BSON\Int64)#8 (1) {
        ["integer"]=>
        string(1) "0"
      }
    }
  }
  ["operationTime"]=>
  object(MongoDB\BSON\Timestamp)#11 (2) {
    ["increment"]=>
    string(1) "7"
    ["timestamp"]=>
    string(10) "1744319389"
  }
}

See Also

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