1

我正在使用 express、mongodb 和僧侣编写一个 node.js 应用程序。

当我仅使用标准或仅使用投影进行查找时,我得到了预期的结果,但是当我同时使用两者进行查找时,将返回完整的文档,即不执行投影。我的代码如下所示:

var collection = db.get('myDB');  
collection.find({field1: "value"},{field2: 1, _id: 0},function(e,docs) {  
    ...do stuff with docs...  
});  

它不仅返回所有与 .field2标准匹配的文档的所有字段field1。我可以从中得到field2,但我不喜欢它的低效率。

有没有办法同时使用标准和预测?

4

1 回答 1

3

Monk 使用空格分隔的字符串进行字段投影,您可以在字段名称前加上前缀-以排除它。

所以应该是:

var collection = db.get('myDB');  
collection.find({field1: "value"}, 'field2 -_id', function(e,docs) {  
    ...do stuff with docs...  
});
于 2014-12-31T15:05:32.893 回答