Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Mongo获取结果_Php_Mongodb - Fatal编程技术网

Php 从Mongo获取结果

Php 从Mongo获取结果,php,mongodb,Php,Mongodb,我正在使用PHP向MongoDB添加文档 我已经使用RockMongo验证了文档添加是否成功 但是,当我运行find()命令时,它返回一个空数组 $insert = $collection->insert($document); $cursor = $collection->find(); insert将插入文档,但find()返回“mongocursorobject()” 插入后是否需要运行命令才能找到项目?如文档所示:find返回指向资源的指针,您必须迭代结果才能实际查看结果。

我正在使用PHP向MongoDB添加文档

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

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

$insert = $collection->insert($document);
$cursor = $collection->find();
insert将插入文档,但find()返回“mongocursorobject()”


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

如文档所示:find返回指向资源的指针,您必须迭代结果才能实际查看结果。(就像mysql(i))



所以,如果你对你的结果进行评估,它会很好的工作

find()返回一个游标,然后对其进行迭代(尝试getNext()方法)。更准确地说,它返回一个迭代器的MongoCursor实例,然后该实例链接到服务器中定义为游标的资源。它实际上并不直接返回资源。
<?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);
}

?>