Node.js Mongoose查找传递变量的查询
每个人都希望一切都好。我不熟悉node.js和mongodb,在将变量传递到mongoose模型查询时遇到问题 当我传递两个参数时,它的结果是空的,但是记录存在 通过邮递员发送Get请求 获取路线:/data/:vehicle\u no/:drive\u id URL: 路线代码:Node.js Mongoose查找传递变量的查询,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,每个人都希望一切都好。我不熟悉node.js和mongodb,在将变量传递到mongoose模型查询时遇到问题 当我传递两个参数时,它的结果是空的,但是记录存在 通过邮递员发送Get请求 获取路线:/data/:vehicle\u no/:drive\u id URL: 路线代码: var reg_no = req.params.vehicle_no; drive_id: req.params.drive_id; vehicle.find({ ID: reg_no,
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是具有文件名、id和TripData的对象数组
如果我只通过一个类似的论点
vehicle.find({ID:regu 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");
}
})
有关更多信息,请参考您应该使用
“Trip\u Details.FileName”:drive\u id
而不是“Trip\u Details:{FileName:drive\u id}
所以试试vehicle.find({id:reg\u no,“Trip\u Details.FileName”:drive\u id},函数(err,result){/..})
谢谢@ShaishabRoy,这在手册中起了作用,特别是“下面的示例检索库存集合中状态为“A”且数量小于($lt)30:db.inventory.find({status:“A”,qty:{$lt:30}})的所有文档。
。因此,就像任何实际使用该产品而不只是“google”的人一样,您很快就会发现两者完全相同。$和
没有在此处添加任何新内容。