【发布时间】:2017-02-08 17:51:17
【问题描述】:
我正在尝试编写一个节点 API,它将根据 API 调用中传递的过滤器获取产品列表。
例如:http://localhost:8080/api/products?price=>100&price=
我已经编写了下面的代码来获取所有产品。
Product.find().populate("images", "image").exec(function(err, products){
if(err){
res.status(200);
return res.json({
success: false,
message: err,
});
}else{
res.status(200);
return res.json({
success: true,
message: 'Products fetched successfully',
data : products
});
}
});
我应该如何更改上述代码以使用 API 调用中传递的任何过滤器?我知道如果我在上面给出的示例中输入{$and:[{price:{ $gt: 100, $lt: 200 }},{colour:red}]},我会得到想要的结果。
如何动态形成查询?
【问题讨论】:
-
将您的 URL 参数重命名为
minPrice和maxPrice,其余的将就位。
标签: node.js mongodb api mongoose