0

我尝试:

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

但它不起作用(我什么也没得到)而且我看不到我的错误。对不起 :(

4

3 回答 3

2

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

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

另一个选项示例:

find([], ['limit' => 5, projection' => ['name' => false], ...])
于 2017-10-28T10:04:23.527 回答
1

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

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

(基本省略周围array

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

于 2013-07-17T12:43:00.493 回答
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

于 2013-09-06T16:00:05.797 回答