Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
MongoDB\Driver\WriteResult::getWriteErrors
(mongodb >=1.0.0)
MongoDB\Driver\WriteResult::getWriteErrors — Возвращает любые ошибки записи, которые произошли
Описание
final public MongoDB\Driver\WriteResult::getWriteErrors(): arrayСписок параметров
У этой функции нет параметров.
Возвращаемые значения
Возвращает массив объектов MongoDB\Driver\WriteError для любых ошибок записи, обнаруженных во время операции записи. Массив будет пустым, если ошибок не произошло.
Ошибки
- При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException.
Примеры
Пример #1 Пример использования MongoDB\Driver\WriteResult::getWriteErrors() с одной ошибкой
$manager = new MongoDB\Driver\Manager;
/* По умолчанию массовые операции записи выполняются последовательно по порядку
* и выполнение прекращается после первой ошибки.
*/
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);
try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}
Результатом выполнения данного примера будет что-то подобное:
array(1) {
[0]=>
object(MongoDB\Driver\WriteError)#5 (4) {
["message"]=>
string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
["code"]=>
int(11000)
["index"]=>
int(2)
["info"]=>
NULL
}
}
Пример #2 Пример использования MongoDB\Driver\WriteResult::getWriteErrors() с несколькими ошибками
$manager = new MongoDB\Driver\Manager;
/* Параметр "ordered" может использоваться для продолжения
* выполнения массовых операций записи после первой ошибки.
*/
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);
try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}
Результатом выполнения данного примера будет что-то подобное:
array(2) {
[0]=>
object(MongoDB\Driver\WriteError)#5 (4) {
["message"]=>
string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
["code"]=>
int(11000)
["index"]=>
int(2)
["info"]=>
NULL
}
[1]=>
object(MongoDB\Driver\WriteError)#6 (4) {
["message"]=>
string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }"
["code"]=>
int(11000)
["index"]=>
int(5)
["info"]=>
NULL
}
}
Смотрите также
User Contributed Notes
There are no user contributed notes for this page.
Описание на ru2.php.net
Описание на php.ru