Я пытаюсь сделать условный запрос, используя MongoDB для извлечения некоторых данных из коллекции. Мне нужно найти все заказы из моей коллекции у указанного поставщика c и в указанном временном интервале (который указан в поле обслуживания, связанном с его идентификатором).
Вот что я пробовал
booking.find()
.sort({ date: 1 })
.populate('customer')
.populate({
path:'service',
match:{slot: { $gte: start, $lt: end }, provider: "5e1652a91c9d4400001026ce" } // fixed value for debug
})
.exec()
.then(result => {
res.status(200).json(result);
})
.catch(err => {
res.status(500).json({
error: err
});
});
Код заполняет поле моего клиента и поле моего сервиса, если совпадают временной интервал и поставщик. Моя проблема в том, что если один из параметров не совпадает, результат также отображается с пустым служебным полем.
Я хотел бы знать, есть ли способ удалить результаты с пустым служебным слотом (или если мне нужно управлять этим, когда я получаю свои данные)?
Спасибо!