MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocumentИзвлекает весь результирующий документ ошибки

Описание

public MongoResultException::getDocument ( ) : array

Извлекает весь результирующий документ ошибки.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Полный результирующий документ в виде массива, включая, если доступно, частичные данные и дополнительные ключи.

Примеры

Пример #1 Пример использования MongoResultException::getDocument()

<?php
$mc 
= new MongoClient("localhost");
$c $mc->selectCollection("test""test");

$c->insert(array(
     
"name" => "Next promo",
     
"inprogress" => false,
     
"priority" => 0,
     
"tasks" => array( "select product""add inventory""do placement"),
) );

$c->insert(array(
     
"name" => "Biz report",
     
"inprogress" => false,
     
"priority" => 1,
     
"tasks" => array( "run sales report""email report" )
) );

$c->insert(array(
     
"name" => "Biz report",
     
"inprogress" => false,
     
"priority" => 2,
     
"tasks" => array( "run marketing report""email report" )
    ),
    array(
"w" => true)
);

try {
    
$retval $c->findAndModify(
         array(
"inprogress" => false"name" => "Biz report"),
         array(
'$set' => array('$set' => array('inprogress' => true"started" => new MongoDate()))),
         
null,
         array(
            
"sort" => array("priority" => -1),
            
"new" => true,
        )
    );
} catch(
MongoResultException $e) {
    echo 
$e->getMessage(), "\n";
    
$res $e->getDocument();
    
var_dump($res);
}
?>

Результатом выполнения данных примеров будет что-то подобное:

$set is not valid for storage.
array(3) {
  ["lastErrorObject"]=>
  array(5) {
    ["connectionId"]=>
    int(6)
    ["err"]=>
    string(30) "$set is not valid for storage."
    ["code"]=>
    int(52)
    ["n"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["ok"]=>
  float(0)
  ["errmsg"]=>
  string(30) "$set is not valid for storage."
}