(mongodb >= 1.0.0)
MongoDB\Driver\Exception\WriteException::getWriteResult β ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ WriteResult Π΄Π»Ρ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ MongoDB\Driver\WriteResult Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ. ΠΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π΄Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ MongoDB\Driver\WriteResult::getWriteErrors() ΠΈ MongoDB\Driver\WriteResult::getWriteConcernError().
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ MongoDB\Driver\WriteResult Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° MongoDB\Driver\Exception\WriteException::getWriteResult()
<?php
$manager = new MongoDB\Driver\Manager('mongodb://localhost');
$bulk = new MongoDB\Driver\BulkWrite();
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);
try {
$manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\WriteException $e) {
$writeResult = $e->getWriteResult();
if ($writeConcernError = $writeResult->getWriteConcernError()) {
var_dump($writeConcernError);
}
if ($writeErrors = $writeResult->getWriteErrors()) {
var_dump($writeErrors);
}
}
?>ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π°:
array(1) {
[0]=>
object(MongoDB\Driver\WriteError)#5 (4) {
["message"]=>
string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"
["code"]=>
int(11000)
["index"]=>
int(1)
["info"]=>
NULL
}
}