当有一个标准时,node.js中的mongodb投影被忽略

我使用express,mongodb和monk来编写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 ,但我不喜欢它的低效率。

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

Monk使用以空格分隔的string进行字段投影,在字段名前添加-以排除字段名。

所以它应该是:

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