Показывать только записи, где существует массив объектов для вошедшего в систему пользователя - PullRequest
0 голосов
/ 14 января 2019

Пользователи могут добавлять несколько продуктов, и несколько пользователей могут запросить этот продукт. Когда пользователь входит в систему, я хочу показать только те продукты, которые имеют запросы.

Я попробовал это, что должно сначала найти продукты для userId, который в данный момент вошел в систему и ГДЕ существует массив 'requests'.

Product.find({userId: req.user._id}).where('requests').exists(true)

Но это показывает мне ВСЕ продукты, даже те, без запросов.

1 Ответ

0 голосов
/ 14 января 2019

Вы можете просто использовать простой синтаксис запроса MongoDB и $ Существует оператор и $ne для фильтрации пустых массивов:

Product.find({userId: req.user._id, requests: { $exists: true, $ne: [] }})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...