@decvdence

Как организовать структуру базы данных MongoDB?

Создаю просто приложение заметок по типу google keep.
У каждого пользователя есть заметки и список ярлыков, у каждой заметки может быть несколько ярлыков.
Собственно вопрос: создавать ли отдельные модели для ярлыков и заметок, или хранить их в документе пользователя? Если отдельно, то как лучше их группировать по каждому пользователю?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
Тут на самом деле все зависит от функционала, который вы хотите реализовать.

Я бы делал, это все отдельными моделями, так можно будет реализовать их нормальное редактирование и изменение, с подтяжкой во все созданные сущности.

Т.е структура выглядела бы как-то так:
User {
    _id: ObjectId('...'),
    notes: [
        ObjectId('Note1...'),
        ObjectId('Note2...'),
        ObjectId('Note3...')
    ]
}


Note {
     _id: ObjectId('Note1...'),
     ...,
    labels: [
        ObjectId('Label 1'), 
        ObjectId('Label 2'),
    ]
}


Label {
    _id: ObjectId('Label 1'),
    name: "Label 1"
}


Опять же формально, лейблы можно хранить и прямо в записях, но тогда такая задачка, как фильтрация по какому-то из лейблов становится неоправданно сложнее + сложнее будет держать консистентность данных.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы