#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
из результата. Наконец, сгруппируйтесь по идентификатору пользователя и подсчитайте общее количество лайков.
Здесь находится игровая площадка для Монго