这是我现在正在做的工作:
export const ProductsByFilter = async (req, res) => {
const {a, b, c} = req.query
let query = {}
if (a) {
query.a = a;
}
if (b) {
query.b = b;
}
if (c) {
query.c = c;
}
const products = await Product.find(query);
res.status(200).json(products);
}
问题是a
是一个字符串,b
是一个数字,所以当我做一个多个请求时,即使其中一个是空的,它们也可以正常工作,但是c
是一个数组,它不工作,我怎么能让c
查询也工作,使用相同的逻辑并保持多个查询请求,可以忽略空或空参数。
1条答案
按热度按时间ergxz8rk1#
我使用了回应我的用户的代码,但为了使其功能完整,我不得不添加$in,正如我在下面的代码中所展示的,然后查询也与数组一起工作: