从Mongo获得结果

时间:2013-02-11 06:53:38

标签: php mongodb

我正在使用PHP将文档添加到MongoDB。

我已经使用RockMongo验证了文档已成功添加。

但是,当我运行find()命令时,它返回一个空数组

$insert = $collection->insert($document);
$cursor = $collection->find();

insert将插入文档,但find()返回“MongoCursor Object()”

是否需要在插入后运行命令才能找到项目?

1 个答案:

答案 0 :(得分:2)

从文档中获取:find返回指向资源的指针,您必须迭代结果才能真正看到结果。 (就像mysql(i)) http://php.net/manual/en/mongocollection.find.php

<?php

$m = new MongoClient();
$db = $m->selectDB('test');
$collection = new MongoCollection($db, 'produce');

// search for fruits
$fruitQuery = array('Type' => 'Fruit');

$cursor = $collection->find($fruitQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

// search for produce that is sweet. Taste is a child of Details. 
$sweetQuery = array('Details.Taste' => 'Sweet');
echo "Sweet\n";
$cursor = $collection->find($sweetQuery);
foreach ($cursor as $doc) {
    var_dump($doc);
}

?>

因此,如果您预先取得结果,那么它会正常工作!