这个问题与数据库体系结构设计有关。
假设我有两个MongoDB集合students
和colleges
收藏 名称:students
文档:
{
"id": "student_id",
"name": "Peter James",
// ...other fields...
},
{
"id": "student_id",
"name": "Steve James",
// ...other fields...
}
收藏 名称:colleges
文档:
{
"name": "New York University",
"id": "AAB-1",
"students": [
{
"id": "id of student from students collection",
// ...other fields...
},
{
"id": "id of student from students collection",
// ...other fields...
},
]
// ...other fields...
}
{
"name": "University Of Southern California",
"id": "AAB-2",
"students": [
{
"id": "id of student from students collection",
// ...other fields...
}
]
// ...other fields...
}
比方说,我有数千所大学,每所大学可以有10万名学生。
如果有新的student
加入大学,让我们说New York University
,那么我将在students
集合中插入学生详细信息,并更新{{ 1}}集合,方法是将array students
集合中生成的新colleges
附加到该集合中。
这是正确的方法吗?还是我应该在每次新学生注册时插入完整的student id
文档。例子
收藏 名称:students
文档:
college
请随时分享您在MongoDB中设计这种数据库模式的想法。另外,请提出新的想法,指出此colleges
中的错误,以及该设计是否可扩展?