如何检索MongoDB中的子文档引用

时间:2016-05-05 19:19:02

标签: javascript node.js mongodb mongodb-query

数据结构

"classrooms" : [
    {
        id : ObjectId("class1")
        "students" : [
            ObjectId("student1")
        ],
    },
    {
        id : ObjectId("class2")
        "students" : [
        ]
    }
],
"students" : [
    {
       "id" : ObjectId("student1"),
       "firstname" : "Ciljan",
       "age" : NumberInt(23)
    },
    {
       "id" : ObjectId("student2"),
       "firstname" : "John",
       "age" : NumberInt(19)
    }
]

需要

我必须提供一个有教室和学生的文件。 学生可以被分配到特定的教室,但并不总是,所以学生可以保持自由。 使用以前的数据结构,我有子文档" 学生"它提供了已分配和未分配的所有可用学生的列表。我可以将学生分配到教室里存放学生ID的教室。

问题

如何检索这些数据,以便为每个教室提供有关其指定学生的所有记录?

1 个答案:

答案 0 :(得分:0)

你的意思是Classroom.find({}).populate('students')吗?这将返回一系列带有学生字段的教室。