【发布时间】:2014-04-30 00:12:12
【问题描述】:
我在 MongoDB 中保存了一个像这样的 BSON 对象:
{
"title": "Chemistry",
"_id": "532d665f89ae4ae703b29730",
"__v": 0,
"sections": [
{
"week": 1,
"_id": "532d665f89ae4ae703b29731",
"assignments": [
{
"created_date": "2014-03-22T10:30:55.621Z",
"_id": "532d665f89ae4ae703b29733",
"questions": []
},
{
"created_date": "2014-03-22T10:30:55.621Z",
"_id": "532d665f89ae4ae703b29732",
"questions": []
}
],
"materials": []
}
],
"instructor_ids": [],
"student_ids": []
}
我想做的是用_id 532d665f89ae4ae703b29731 检索“分配”。它是 assignments 数组中的一个元素,而后者又是sections 数组中的一个元素。
我可以通过查询检索整个文档
{ 'sections.assignments._id' : assignmentId }
但是,我想要的只是作业子文档
{
"created_date": "2014-03-22T10:30:55.621Z",
"_id": "532d665f89ae4ae703b29733",
"questions": []
}
有没有办法完成这样的查询?我应该决定在不同的集合中分配任务吗?
【问题讨论】:
标签: javascript arrays node.js mongodb mongoose