如何在mongodbfind()coursor中返回指定字段


How i can return specified fields in mongodb find() coursor?

我尝试:

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

但它不起作用(我一无所获),我看不出我的错误。对不起:(

如果使用mongodb/mongodb-php composer包,则需要指定投影选项:

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

另一个选项示例:

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

find的PHP函数不是这样工作的。尝试:

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

(基本上省略了周围的array

此处为文档页面,供参考:http://php.net/manual/en/mongocollection.find.php

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

$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