【发布时间】:2020-11-17 23:30:05
【问题描述】:
假设,在 MongoDB 中我有两个集合。一个是“学生”,另一个是“课程”。
学生有文件如
{"id":"1","name":"Alex"},..
课程有文件如
{"course_id":"111","course_name":"React"},..
还有一个名为“students-courses”的第三个集合,其中我保存了学生的 ID 和相应的课程 ID。像这样
{"student_id":"1","course_id":"111"}
我想对学生的id 进行查询,以便它给出他/她注册的课程的输出。像这样
{
"id": "1",
"name":"Alex",
"taken_courses": [
{"course_id":"111","course_name":"React"},
{"course_id":"112","course_name":"Vue"}
]
}
在不使用 ORM 的情况下,它将在 MongoDB 中建立多对多关系。如何进行此查询?
【问题讨论】:
-
学生和课程的关系存储在哪里?您需要将一组课程 ID 存储在学生身上或以其他方式存储。
-
我只想在 GUI(例如 Studio 3T)中做所有这些事情来进行这个查询...@Kevin Smith
-
@NayeemAhmed:凯文问的是:你怎么知道哪些学生选修了哪些课程?您需要将此信息存储在某处。您不存储此信息吗?
-
我制作了另一个名为“Students-courses”的第三个集合,我将学生的 ID 与他们对应的注册课程 ID @Sergio 保存在一起
-
这是通过聚合管道完成的。
标签: mongodb