Загрузка…
Загрузка…
MongoDB · middle · сложность 5
Это зависит от ваших целей. Нормализация обеспечит эффективное при обновлении представление данных. Денормализация сделает чтение данных эффективным.
В общем, используйте встроенные модели данных (денормализацию), когда:
В общем, используйте нормализованные модели данных:
Кроме того, нормализация ваших данных, как в случае с реляционной базой данных, обычно не является хорошей идеей в MongoDB. Нормализация в реляционных базах данных возможна только при условии, что соединения между таблицами относительно дешевы. Оператор агрегации $lookup предоставляет некоторые ограниченные функции JOIN, но он не работает с сегментированными коллекциями. Поэтому приложению часто приходится эмулировать соединения посредством нескольких последующих запросов к базе данных, что очень медленно (дополнительную информацию см. в вопросе MongoDB и JOINs).
Ключевой вывод для собеседования: следует ли мне нормализовать свои данные перед сохранением их в MongoDB?