我已经为mongoose + restify编写了一个get调用,该调用通过req.params成功返回了变量(例如所有奶酪类型名称)下的一组值,但是我想添加过滤器功能,例如Cheese?type =蓝色。我知道可以通过req.query访问这些url参数,但是我不确定如何通过cheese.find函数传递它们。
如果标准情况是:
奶酪= cheese.find({“ name”:req.params.name})
我应该如何包含req.query?
谢谢!
答案 0 :(得分:1)
这非常简单,您只需使用AND就可以学习MongoDB。
对于您的情况,可以使用以下示例:
如果类型在相同集合中,则可以使用下面的示例。
const params = req.params;
const query = req.query;
cheese = cheese.find({ $and: [ params, query ]})
如果类型在不同集合中,则可以尝试在MongoDB中学习聚合。
仅此而已。
我希望它能为您提供帮助。