【发布时间】:2021-08-19 05:03:41
【问题描述】:
我正在使用节点 js + sequelize。我想按供应商、价格、交货选项等选择的选项过滤产品的结果,但我不明白如何使查询准确。
现在我正在这样做,但此方法仅在选择所有过滤器时才有效(AND 运算符)。如果用户只选择了 1 个过滤器,或者其中几个过滤器,我该怎么办?
let vendor = req.query.vendor;
let priceFrom = req.query.priceFrom;
let priceTo = req.query.priceTo;
let delivery = req.query.delivery
Product.findAll({
where: {
vendor_id: {
in: vendor
},
price: {
$between: [priceFrom, priceTo]
},
{
delivery: delivery
}
}
}).then(products => {
res.render('product', {products: products});
console.log(products)
});
我现在看到唯一的一种方法可以为每个场合编写大量 if-else 语句。
【问题讨论】:
标签: mysql node.js sequelize.js