inlanger
@inlanger
Django программист

Вопрос о структуре БД mongodb

Сейчас пытаюсь вникнуть в mongodb, но не совсем понятно кое-что. Думаю, что на хабре много специалистов по этой СУБД, поэтому считаю что вопрос уместен. Итак, простая ситуация — простенький форум.
В базе храним разделы, темы и сообщения. Вопрос — как лучше хранить эти динные? 3 разные коллекции, или 1 коллекция раздел->список_тем->список_сообщений_к_каждой_теме? Если использовать второй вариант, то судя по ответам на мой вопрос мы не сможем одним запросом выбирать все сообщения выбранной темы, нужно будет отсеивать большое количество информации. А если брать первый вариант, то мы начинаем работать с БД как с реляционной?
  • Вопрос задан
  • 2898 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stdit
@Stdit
Хранить в разных коллекциях. Особенно, если форум подразумевает такие страницы как «все сообщения пользователя» или «все темы пользователя». Да, структура похожа на реляционную БД, но в этом нет ничего плохого. Основные преимущества данной СУБД (возможность создавать произвольные дополнительные свойства, особено свойства-массивы, и строить по ним индексы, включая частичные) при этом не теряются.
Ответ написан
Комментировать
deadkrolik
@deadkrolik
Сразу предупреждаю, что не специалист.

Надо отталкиваться от того, что же первично на форуме и какие есть основные сущности. Я думаю что главное это пользователь и его сообщение. Поэтому две коллекции точно — пользователи и сообщения.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы