我正在使用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 使用空格分隔的字符串进行字段投影,您可以在字段名称前添加 -
前缀来排除它。
所以应该是:
var collection = db.get('myDB');
collection.find({field1: "value"}, 'field2 -_id', function(e,docs) {
...do stuff with docs...
});
关于当有标准时,node.js mongodb 投影会被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722636/