Как получить количество лайков в Mongoose

#node.js #mongodb #mongoose #mongodb-query

#node.js #mongodb #mongoose #mongodb-запрос

Вопрос:

У меня есть 3 таблицы, пользователи, сообщения и лайки, схемы из них так же, как

 Users: 
id: ObjectId; nickname: string; ...

Posts:
id: ObjectId; title: string; authorId: ObjectId(relate to Users id); ...

Likes:
id: ObjectId; forId: ObjectId(relate to Posts id); ...
 

Я бы хотел получить количество всех лайков определенного пользователя, как я могу это сделать? Кто-нибудь может мне помочь, я использую mongoose в Node.js .
(Я получаю все сообщения пользователя и зацикливаю их, а затем вычисляю количество лайков в настоящее время, но я не думаю, что это хорошее решение)

Ответ №1:

Вы можете использовать $lookup Posts из Users конвейера агрегации. Затем снова повторите поиск $ Likes из результата. Наконец, сгруппируйтесь по идентификатору пользователя и подсчитайте общее количество лайков.

Здесь находится игровая площадка для Монго