MongoResultException::getDocument

(PECL mongo >=1.3.0)

MongoResultException::getDocument結果ドキュメントを取得する

説明

public MongoResultException::getDocument ( void ) : 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."
}