хранение положительных / отрицательных голосов в mongodb

У меня есть коллекцияPosts а такжеUsers где пользователи могут поднять / понизить каждый пост. Как лучше всего сохранить это в базе данных mongodb, чтобы пользователи не могли голосовать за данный документ более одного раза?

Самое простое решение nosql-ish, которое я придумал, - это сохранение массива user_ids, которые проголосовали внутри каждогоPost документ (или даже массив(user_id, vote) гдеvote +1 или -1, чтобы пользователи могли изменить свой голос). Это хорошая идея с точки зрения производительности, учитывая, что каждый пост может иметь тысячи голосов?

А как насчет действительно популярных сайтов, таких как Reddit, где топ-посты могут иметь сотни тысяч голосов?

Ответы на вопрос(2)

Ваш ответ на вопрос