我有student
个收藏夹
{
_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)
})
这将返回具有所有字段的所有文档,包括name
等...
答案 0 :(得分:0)
find
将返回cursor
。基于cursor
documentation,如果您想project
,则只需执行以下操作:
.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)
})