我如何在mongodb find()游标中返回特定字段?

时间:2013-07-17 12:38:42

标签: php mongodb field

我试试:

$fields = array('name'=>true);
find (array(array(), $fields))

但它不起作用(我什么都没得到),我看不出自己的错误。对不起:(

3 个答案:

答案 0 :(得分:2)

如果你使用mongodb / mongodb php composer包,你需要指定 projection 选项:

find([], ['projection' => ['name' => false]])

选项的另一个例子:

find([], ['limit' => 5, projection' => ['name' => false], ...])

答案 1 :(得分:1)

find的PHP函数不能像那样工作。尝试:

find(array(), array('name'=>1))

(基本上省略了周围的array

此处参考的是文档页面:http://php.net/manual/en/mongocollection.find.php

答案 2 :(得分:0)

如果您要在所有记录中查找特定字段,可以执行以下操作:

$cursor = $collection->find();
    foreach( $cursor->fields(array('myField' => true )) as $doc ) {
        echo "<pre>";
        var_dump($doc);
        echo "</pre>";

这将为集合中的每个文档仅返回“myFeild”。

http://php.net/manual/en/mongocursor.fields.php