International PHP Conference Munich 2025

MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply

(mongodb >=2.1.0)

MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReplyReturns any top-level command error

说明

final public MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply(): ?MongoDB\BSON\Document

参数

此函数没有参数。

返回值

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.

示例

示例 #1 MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply() example

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

?>

以上示例的输出类似于:

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"
  }
}

参见

添加备注

用户贡献的备注

此页面尚无用户贡献的备注。
To Top