为 MongoDB 中的每个新对象创建多个集合是否错误?
Is It Wrong To Create More Than One Collection For Every New Object in MongoDB?
我正在构建一个应用程序,旨在充当教育机构和盈利组织之间的中介,以便该应用程序可以注册新学校、大学等,然后为每所新学校创建一个新集合,大学..我创造。但我在 Whosebug 上阅读了一些 posts,有些人说根据 post 请求创建新集合是错误的。但问题是每所学校都有不同的学生、教师、工作人员...等,将不同学校的所有学生存储在一个嵌入式文档 中似乎不合逻辑。那么我应该做什么?
是的,正确创建每个学校的集合是有问题的,但是使用一些数据库 design/data 建模技术可以在这里帮助你
由于学校可以被视为一个学院,所以我们可以拥有一个学院集合,其中每个学院都有自己唯一的 Id
Institutes
{
_id: "<Institute id>",
name: "<school name>",
desc: "<desc>"
...others
}
然后我们可以为用户创建一个集合,其中包含用户的所有信息,如姓名、联系信息等。
Users
{
_id: "<user id>"
name: "<user name>"
...others
}
然后我们可以创建一个集合,显示哪个用户与哪个机构相关联并扮演什么角色
User_Associated_Institute
{
_id: {
school_id: <Institute id>,
user_id: <user id>
},
role: <Staff/Teacher/Student>,
...other
}
然后我们终于可以收集到哪个学院开设的所有课程了
Courses_Offered_Institute
{
_id: "<course id>",
name: "<course name>",
desc: "<desc>",
institutes: ["<Institute id>"],
....others
}
这只是一个建议,您可以根据自己的用例修改设计
我正在构建一个应用程序,旨在充当教育机构和盈利组织之间的中介,以便该应用程序可以注册新学校、大学等,然后为每所新学校创建一个新集合,大学..我创造。但我在 Whosebug 上阅读了一些 posts,有些人说根据 post 请求创建新集合是错误的。但问题是每所学校都有不同的学生、教师、工作人员...等,将不同学校的所有学生存储在一个嵌入式文档 中似乎不合逻辑。那么我应该做什么?
是的,正确创建每个学校的集合是有问题的,但是使用一些数据库 design/data 建模技术可以在这里帮助你
由于学校可以被视为一个学院,所以我们可以拥有一个学院集合,其中每个学院都有自己唯一的 Id
Institutes
{
_id: "<Institute id>",
name: "<school name>",
desc: "<desc>"
...others
}
然后我们可以为用户创建一个集合,其中包含用户的所有信息,如姓名、联系信息等。
Users
{
_id: "<user id>"
name: "<user name>"
...others
}
然后我们可以创建一个集合,显示哪个用户与哪个机构相关联并扮演什么角色
User_Associated_Institute
{
_id: {
school_id: <Institute id>,
user_id: <user id>
},
role: <Staff/Teacher/Student>,
...other
}
然后我们终于可以收集到哪个学院开设的所有课程了
Courses_Offered_Institute
{
_id: "<course id>",
name: "<course name>",
desc: "<desc>",
institutes: ["<Institute id>"],
....others
}
这只是一个建议,您可以根据自己的用例修改设计