Я довольно новичок в Mongo / NoSQL (из более традиционного RDBMS-фона).Мне нужна базовая схема рейтинга.Пользователи и предметы, а также пользователи могут оценивать предмет (скажем, от 1 до 5).Я ожидаю, что количество элементов будет в 5 раз больше числа пользователей, а количество оценок будет еще выше.Наиболее распространенные потребности в доступе:
- Количество оценок для элемента (и для списка элементов)
- Средняя оценка для определенного элемента (и для списка элементов)
- Список предметов, оцененных данным пользователем
- Имеет ли пользователь x оценил элемент y?
- Список предметов, отсортированных по кол-ву оценок
- Список предметов, отсортированных посредний рейтинг
Моя первоначальная идея заключалась в том, чтобы иметь пользовательскую коллекцию, коллекцию элементов и коллекцию рейтингов, где рейтинги имеют атрибуты itemid, userid, rating.Я просто не уверен, сколько я теряю из-за документа об элементе, если в документе не хранится его счет и элементы.Мысли?