Javascript Mongodb find方法始终返回文档的所有元素
我有Javascript Mongodb find方法始终返回文档的所有元素,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我有studentcollection { _id: 1, name: "Student", tasks: [{ month: 1, year: 2018 }] } 我需要一个只返回任务数组的查询: db.collection('students').find( { 'tasks.month': 1, 'tasks.year': 2018 }, { 'tasks.$' : 1 } ).toArray((err, res) => {
student
collection
{
_id: 1,
name: "Student",
tasks: [{ month: 1, year: 2018 }]
}
我需要一个只返回任务数组的查询:
db.collection('students').find(
{
'tasks.month': 1,
'tasks.year': 2018
},
{
'tasks.$' : 1
}
).toArray((err, res) => {
console.log(res)
})
这将返回包含所有字段的所有文档,包括
名称
等等。查找将返回一个光标
。基于光标
如果您想投影
,您只需执行以下操作:
.project({'tasks':1})
在您的.toArray
。。。因此,你最终会:
var result = db.collection('students').find({
'tasks.month': 1,
'tasks.year': 2018
}).project({
'tasks': 1
}).toArray((err, res) => {
console.log(res)
})
db.collection('students')。查找({'tasks.month':1,'tasks.year':2018},{'tasks':1})
试试这个谢谢。。但是返回相同的结果???删除.toArray()
并使用回调directly@anthony您应该在answer.TypeError:将循环结构转换为JSON中写下这一点