MongoDB Near/GeoNear 使用数据库中的 MaxDistance 值

MongoDB Near/GeoNear with the MaxDistance value from Database

我想使用 MongoDB 做一些非常特别的事情,但还不知道该怎么做。

所以这里是:

到目前为止要查询附近的位置,MaxDistance 选项在查询中。

我想从数据库中的对象获取最大距离。

为了说明我想要什么,这里有一个小图形:

虽然正常使用看起来更多(图形):

我不能只 raise/lessen BlueDot maxDistance,因为它可能匹配(或不匹配)某些(BlackDot + 他们自己的 MaxDistance),而它不应该匹配。

顺便说一下,我正在使用 Erlang...

知道吗,我怎样才能做到这一点,而不必从数据库中检索所有点并在我的软件中进行 GPS 数学运算?

显然可以使用聚合来完成:发现 here

pipeline : [
  {
    '$geoNear' : {
      near : [
        10, 
        10
      ],
      distanceField : 'distance',
      spherical : false,
      uniqueDocs : true
    }
  }, 
  {
    '$project' : {
      name : 1,
      location : 1,
      maximumDistance : 1,
      delta : {
        '$subtract' : [
          '$maximumDistance', 
          '$distance'
        ]
      }
    }
  }, 
  {
    '$match' : {
      delta : { '$gte' : 0 }
    }
  }
]