使用mongodb作为主数据库的应用程序的数据库体系结构设计

时间:2019-03-05 12:29:41

标签: database mongodb database-design architecture schema

这个问题与数据库体系结构设计有关。

假设我有两个MongoDB集合studentscolleges

收藏 名称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中的错误,以及该设计是否可扩展?

0 个答案:

没有答案