Здравствуйте, хочу создать модель документа для поста в котором должен быть рейтинг, например лайки и репосты, и у которых должен хранится массив c id юзеров и счетчик длины этих массивов для вывода чисел на фронте, как правильно это реализовать, стоил ли создавать отдельный тип модели для рейтига поста и как его связать вместе с моделью самого поста? Буду благодарен за помощь
Для подобных вещей где есть связи лучше использовать реляционные бд, монга для этого плохо подходит, связать можно при помощи ref, но это достаточно тупая связь. Допусти есть список постов и тэгов, в постах храниться массив тэгов, тебе понадобилось удалить тэг, отлично он удален, но у постов в массиве тэгов ид тэга так и останется.
А так держи решение https://mongoosejs.com/docs/populate.html
Alexander, Забывать и забивать не стоит. Просто для каждой задачи есть инструмент который с ней справляется лучше чем другие.
MongoDB - отличный инструмент знание которого точно не будет минусом.
А такую задачу, как у вас - можно решить большинством популярных БД, просто какие-то будут более эффективны, какие-то менее. Те же агрегации, про которые написал WapSter, задачу решат.
Alexander, почему же. Для каких-то не больших проектов данная база отлично подходит, из плюсов быстро можно развернуть, удобно работать. За не сложными связями можно следить самостоятельно. Но там где действительно много связей, еще и многоуровневые, то монга не лучший вариант.