gpt4 book ai didi

node.js - 使用 Mongoose 以编程方式构建动态查询

转载 作者:IT老高 更新时间:2023-10-28 23:00:44 25 4
gpt4 key购买 nike

我正在尝试根据从表单接收到的输入来构建搜索。

router.get('/data', function(req, res) {
var firstName=req.body.firstName,
lastName=req.body.lastName,
companyName=req.body.companyName,
email=req.body.email;
});

我想根据这些值构建一个查询,但如果该字段没有值,我显然不想将其包含在搜索中(搜索“”会改变结果)

我尝试了几种不同的方法,比如构建一个要放置的字符串:

mongoose.model('customers').find({QUERY STRING WOULD GO HERE} ,function(err, data) {
if (err) return console.error(err);
console.log(data);
});

但这似乎无法正常工作。我也尝试过像这样“堆叠”搜索查询:

if(firstName !="") {
mongoose.model('customers').find({firstName: firstName})
}

然后像这样执行搜索:

mongoose.model('customers').exec(function(err, customer){
console.log(customer);
});

但这会导致 500 个错误(我不确定是否可以从它们那里获得更多信息)。

请帮助新手动态构建 Mongoose 搜索查询:(

最佳答案

尝试创建 query 对象,例如:

//generate query object based on availability of value 
var query = {};
if( your_variable !== "" ) {
query["some_key"] = your_variable;
}
if( your_second_variable !== "" ) {
query["some_other_key"] = your_second_variable;
}
mongoose.model('customers').find(query, function(err, c) {
//do something
});

关于node.js - 使用 Mongoose 以编程方式构建动态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29466377/

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