(PECL mongo >=1.3.0)
MongoResultException::getDocument — Récupère le document résultant complet
Récupère le document résultant complet.
Cette fonction ne contient aucun paramètre.
Le document résultant complet sous la forme d'un tableau, incluant des données partielles si possible, ainsi que des clés additionnelles.
Exemple #1 Exemple avec 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);
}
?>
Les exemples ci-dessus vont afficher quelque chose de similaire à :
$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." }