#node.js #mongodb #express #mongoose
#node.js #mongodb #экспресс #mongoose
Вопрос:
Мне нужно получить данные из MongoDB, которые сначала сужаются на одну начальную категорию, скажем, «{одежда: брюки}», а затем последующий поиск брюк определенного размера, используя массив типа sizes = [‘s’,’lg’,’6′, ’12’].
Мне нужно вернуть все результаты, в которых «брюки» соответствуют этим «размерам».
Я начал поиск с:
Product.find({$and:[{categories:req.body.category, size:{$in:req.body.sizes}}]},
function(err, products) {
if (err) { console.log(err); }
return res.send(products)
});
Я действительно не знаю, куда идти дальше. Я просмотрел все документы Mongoose.
Какое-то направление было бы очень полезно.
Ответ №1:
Запросы mongoose могут получать объект, как и Mongodb. Таким образом, вы можете передавать параметры поиска, разделенные ,
Product.find({categories:req.body.category, size:{$in:['s','lg','6', '12']}})
Для получения дополнительной информации о $in проверьте здесь
Для получения дополнительной информации о $ и operator, проверьте здесь (обратите внимание, что в некоторых случаях мы можем исключить оператор $ и, что я и сделал)