(mongodb >=2.1.0)
MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΡΠ²ΡΠ·Π°ΡΡΡΡ
Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ null,
Π΅ΡΠ»ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΎ ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΎΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ MongoDB\Driver\Exception\BulkWriteCommandException::getErrorReply()
<?php
$manager = new MongoDB\Driver\Manager();
// ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ configureFailPoint, ΡΡΠΎΠ±Ρ ΡΡΠΌΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ
$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"
}
}