Продвинутый
Как в MongoDB реализуются связи (Embedding vs Referencing)?
В реляционных БД мы всегда используем внешние ключи (Referencing). В Mongo есть выбор:
1. Embedding (Встраивание):
Связанные данные хранятся прямо внутри родительского документа (например, массив addresses внутри user).
Плюс: Чтение за 1 запрос.
Минус: Документ может разрастись (лимит 16 МБ).
2. Referencing (Ссылки):
Храним только ID связанных документов (как в SQL).
Плюс: Данные не дублируются, документы легкие.
Минус: Придется делать 2 запроса к БД или использовать медленный $lookup.
💡 Правило: Если связь "Один-к-Нескольким" — встраиваем. Если "Один-к-Миллионам" — ссылаемся.