【问题标题】:mongodb query using 2 $near operator. Find users near start and destination location使用 2 $near 运算符的 mongodb 查询。查找起点和终点附近的用户
【发布时间】:2015-10-04 19:12:54
【问题描述】:

我有一个问题,我需要在源中定位用户并根据他们的目标位置聚合它们。我尝试使用如下所列的多个 $near 查询:

db.getCollection('user_requests').find({"destGeoLoc":$near:{$geometry: {$type:"Point", coordinates:77.2432720999999987,28.5676954999999992]},$maxDistance:2000}},"sourceGeoLoc":{$near:$geometry: {$type:"Point",coordinates:77.2219549999999941,28.6423729999999992]},$maxDistance:2000}}, "match_status" : "no" })

它给出了以下错误:

error: {
"$err" : "Can't canonicalize query: BadValue Too many geoNear expressions",
"code" : 17287

}

现在我了解了错误本身,但我似乎遇到了如何克服这个错误的障碍。

【问题讨论】:

    标签: mongodb mongodb-query geospatial


    【解决方案1】:

    我通过在源和目标上发布两个单独的 $near 查询并获取 ObjectId 的一组交集来找到解决方案。它很粗糙,但很有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-28
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 2020-08-29
      相关资源
      最近更新 更多