MongoResultException
PHP Manual

MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocumentRetrieve the full result document

Description

public array MongoResultException::getDocument ( void )

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

MongoResultException
PHP Manual