MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocument获取完整的结果文档

说明

public MongoResultException::getDocument ( void ) : array

获取完整的错误结果文档。

参数

此函数没有参数。

返回值

完整的结果文档数组,包括是否有效的部分数据以及额外的键。

范例

Example #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."
}
关注编程学问公众号