Выбираю, какую структуру данных выбрать.
Есть документ "Пользователи".
У каждого пользователя есть "Чат", где может быть много сообщений. Сообщения не всегда нужно выводить на экран.
Хранить ли чат в одном из полей объекта "пользователь"?
Когда я делаю выборки по пользователям, не включающим это поле, не нужно ли монге будет отрезать километровые простыни?
Как альтернатива - есть подход ближе к тому, что помню со времен SQL - сделать отдельный документ из чатов или даже отдельных сообщений, которые потом собирать в чат.
Вне зависимости от решения sql или nosql все-равно необходимо не забывать про то что нормализацию никто не отменял. Лучше раздельно хранить и пользователей и чаты и сообщения
Правильно ли я понимаю, что оптимальное использование монго - это такая же структура как в sql когда идет "плоская" коллекция без ветвления или почти без ветвления?