MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocumentRetrieve the full result document

Description

public MongoResultException::getDocument(): array

Retrieves the full error result document.

Parameters

This function has no parameters.

Return Values

The full result document as an array, including partial data if available and additional keys.

Examples

Example #1 MongoResultException::getDocument() example

<?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);
}
?>

The above examples will output something similar to:

$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."
}