Mongodb 使用$divide$mod和$floor组合的聚合匹配$expr无效
我一直试图自己解决这个问题,但似乎不明白为什么它不起作用。我得到的错误是“预期[或聚合阶段,但{found”) 我尝试了这段代码的不同组合,如果单独使用,地板在$expr中起作用,如果单独使用,$mod在$expr中也起作用,不知何故,整个代码是不正确的Mongodb 使用$divide$mod和$floor组合的聚合匹配$expr无效,mongodb,Mongodb,我一直试图自己解决这个问题,但似乎不明白为什么它不起作用。我得到的错误是“预期[或聚合阶段,但{found”) 我尝试了这段代码的不同组合,如果单独使用,地板在$expr中起作用,如果单独使用,$mod在$expr中也起作用,不知何故,整个代码是不正确的 [ {"$match": {"$and": [ {"report_id":150}, {"odometer":{"$gte":0,"$lte":50000}}, {"
[
{"$match":
{"$and":
[
{"report_id":150},
{"odometer":{"$gte":0,"$lte":50000}},
{"$expr":{
"$eq":[
{"$mod":[{"$floor":{"$divide":["$odometer","1512.58"]}},10]},
0
]
}
}
]
}
},
{"$sort":{"odometer":1}},
{"$project":{"_id":0,
"lat":{"$convert":{"input":"$latitude","to":"double"}},
"lng":{"$convert":{"input":"$longitude","to":"double"}}}}
]
我提到这是在一个匹配阶段内,我需要里程表/1512.58的模数为0您使用的是什么mongo版本?对于mongo版本3.6+使用mongod--版本I获取db版本v4.0.6,使用mongo--版本I获取MongoDB shell版本v4.0.6,查询本身可以显示完整的代码吗?我觉得可能只是一个小问题语法错误{$and:[{report_id:150},{odometer:{$gte:0,$lte:50000},{$expr:{$eq:[{$mod:[{$floor:{$divide:['$odometer',1512.58']}},10]},0]}}}如果您可以用完整的代码编辑答案,它应该包括model.aggregate部分和匹配表达式。