Разработка архитектуры базы данных для приложения, использующего mongodb в качестве основной базы данных - PullRequest
0 голосов
/ 05 марта 2019

Этот вопрос связан с проектированием архитектуры базы данных.

Допустим, у меня есть две коллекции 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...
}

Допустим, у меня есть тысячи университетов, и в каждом университете может быть 100 тысяч студентов.

В случае нового присоединения student к университету, скажем, New York University, тогда я вставлю данные студента в коллекцию students и обновлю коллекцию array students из colleges, добавивновый student id сгенерированный в students коллекции к нему.

Это правильный путь? Или я должен вставлять полный документ college каждый раз, когда регистрируется новый студент.Пример

Коллекция Имя : colleges

Документы :

{
    "name": "New York University",
    "id": "AAB-1",
    "student":{
                "id": "student 1", // id of student from students collection
                // ...other fields...
              },
    // ...other fields...
},
{
    "name": "New York University",
    "id": "AAB-1",
    "student":{
                "id": "student_2", // id of student from students collection
                // ...other fields...
              },
    // ...other fields...
}

Пожалуйста, почувствуйтеВы можете поделиться своими идеями по разработке схемы базы данных такого типа в MongoDB.Также, пожалуйста, предложите новые идеи, укажите ошибки в этом schema design, и если этот дизайн масштабируемый или нет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...