当有标准时,node.js mongodb 投影会被忽略

标签 node.js mongodb monk

我正在使用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/

相关文章:

node.js - 简单 mongo/monk findAndModify 查询的问题

node.js - 在 Alpine docker 中找不到 Node

javascript - 读取行: read three input line-by-line then loop if true

javascript - 尴尬的逃脱角色

php - PHP无法连接到MongoDB套接字

javascript - 使用 Javascript 对象更新文档中的所有字段

node.js - 为什么 mongodb 中的 addToSet 在数组字段中不起作用?

Mongodb - 查看辅助副本成员中的集合

mongodb - 解析stateful.yaml时出错:将YAML转换为JSON时出错:yaml:第35行:在此上下文中不允许映射值

node.js - 如何处理加载大集合的所有记录并监听 mongodb atlas 上的新数据?