gpt4 book ai didi

node.js - Mongoose 查找查询传递变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:01 24 4
gpt4 key购买 nike

希望大家一切都好。我是 node.js 和 mongodb 的新手,并且在将变量传递给 mongoose 模型查询时遇到问题。

当我传递两个参数时,其结果为空,但记录存在。

Retrieving data from MongoDB Image

通过Postman发送Get请求

获取路线:/data/:vehicle_no/:drive_id

网址:http://localhost/api/data/ZXC-1123/drive_234

路线代码:

var reg_no = req.params.vehicle_no;
drive_id: req.params.drive_id;
vehicle.find({
ID: reg_no,
Trip_Details: {
FileName: drive_id
}
}, function(err, result) {
if(err) {
res.json(err);
} else if(result.length > 0) {
res.json("Drive id Found");
} else {
res.json("Drive id not Found");
}
})

结果:未找到驱动器 ID

但是预期结果必须是:找到驱动器 ID

在上面的代码中:Trip_Details 是具有 file_name、_id、TripData 的对象数组。

如果我只传递一个参数,例如车辆.find({ ID: reg_no }然后找到结果。

请帮忙,提前致谢

最佳答案

如果要根据两个参数进行查询,还可以使用 $and 以获得更好的可读性。出错的地方是在编写查询时,第二个参数应该写为:

vehicle.find({
ID: reg_no,
Trip_Details.FileName: drive_id
}

您使用 $and 的实现如下:-

vehicle.find({
$and: [
{ID: reg_no},
{Trip_Details.FileName: drive_id
}]
}, function(err, result) {
if(err) {
res.json(err);
} else if(result.length > 0) {
res.json("Drive id Found");
} else {
res.json("Drive id not Found");
}
})

欲了解更多信息,请参阅Mongoose Docs

关于node.js - Mongoose 查找查询传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46953328/

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