(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply — Retorna qualquer erro de comando de nível superior
Esta função não possui parâmetros.
Retorna qualquer erro de nível superior que ocorreu ao tentar se comunicar
com o servidor ou executar a gravação em massa. Este valor pode ser null se a
exceção foi gerada devido a erros ocorridos em gravações individuais.
Exemplo #1 Exemplo de MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply()
<?php
$manager = new MongoDB\Driver\Manager;
// Este exemplo usa configureFailPoint para simular um erro de comando de nível superior
$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());
}
?>O exemplo acima produzirá algo semelhante a:
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"
}
}