Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 使用$divide$mod和$floor组合的聚合匹配$expr无效_Mongodb - Fatal编程技术网

Mongodb 使用$divide$mod和$floor组合的聚合匹配$expr无效

Mongodb 使用$divide$mod和$floor组合的聚合匹配$expr无效,mongodb,Mongodb,我一直试图自己解决这个问题,但似乎不明白为什么它不起作用。我得到的错误是“预期[或聚合阶段,但{found”) 我尝试了这段代码的不同组合,如果单独使用,地板在$expr中起作用,如果单独使用,$mod在$expr中也起作用,不知何故,整个代码是不正确的 [ {"$match": {"$and": [ {"report_id":150}, {"odometer":{"$gte":0,"$lte":50000}}, {"

我一直试图自己解决这个问题,但似乎不明白为什么它不起作用。我得到的错误是“预期[或聚合阶段,但{found”)

我尝试了这段代码的不同组合,如果单独使用,地板在$expr中起作用,如果单独使用,$mod在$expr中也起作用,不知何故,整个代码是不正确的

[
{"$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部分和匹配表达式。