Недавно я изучаю базы данных NoSQL. Мне нужен совет о том, как хранить данные наиболее оптимальным и эффективным способом для данной проблемы. Сейчас я нацелен на MongoDB. Однако это должно быть то же самое с CouchDB.
Скажем, у нас есть эти 3 Модели:
Story:
id
title
User:
id
name
Vote:
id
story_id
user_id
Я хочу иметь возможность задавать в базе данных следующие вопросы:
- Кто голосовал за эту историю?
- Что этот пользователь проголосовал за?
Я делаю простые объединения при работе с реляционной БД. Вопрос в том, как я должен хранить данные для этих объектов, чтобы быть наиболее эффективными.
Например, если я храню объекты Vote в качестве подмножества Stories, то будет легко получить информацию - "За что проголосовал пользователь".