gpt4 book ai didi

javascript - 使用 Mongoose 通过传递选项 JSON 来过滤数据 DB 级别

转载 作者:行者123 更新时间:2023-11-28 03:03:39 25 4
gpt4 key购买 nike

我正在尝试过滤具有一组产品对象的对象数组。我想根据名称按升序或降序过滤数据。已经编写了一些代码,但它没有显示任何过滤效果结果对象。

将 NodeJS 与 Mongoose 结合使用!

filter_data(req, res) {
const sort = {}

if (req.body.sortBy && req.body.OrderBy) {
sort[req.body.sortBy] = req.body.OrderBy === 'desc' ? -1 : 1
}

ProductModel.find({}, {}, {
options: sort
}, (err, ProductModel1) => {
if (err) {
console.log(err);
res.status(500).json({
"err": err
});
} else {
console.log(ProductModel1);
if (ProductModel1 == null) {
res.status(404).json({
"msg": "Product list is empty"
});
} else
res.status(200).json(ProductModel1);
}
});
}

最佳答案

无需在查询中放置options参数进行过滤。我们可以直接给出排序和限制,并使用发送的参数动态过滤数据!

filter_data(req, res) {
const sort = {}

if (req.body.sortBy && req.body.OrderBy)
{
sort[req.body.sortBy] = req.body.OrderBy === 'desc' ? -1 : 1
}

console.log(sort)


ProductModel.find({}, null, {sort: sort,limit: 2}, (err, ProductModel1) =>{
if (err) {
console.log(err);
res.status(500).json({
"err": err
});
} else {
console.log(ProductModel1);
if (ProductModel1 == null) {
res.status(404).json({"msg": "Product list is empty"});
} else
res.status(200).json(ProductModel1);
}
});
}

关于javascript - 使用 Mongoose 通过传递选项 JSON 来过滤数据 DB 级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60782730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com