我想使用MongoDB做一些非常特别的事情,但还不知道怎么做。
所以这是:
到目前为止,查询近处位置,MaxDistance选项位于查询上。
我想从数据库中的Object获取MaxDistance。
为了说明我想要的,这里有一个小图:
虽然正常使用看起来更多(图形化):
我不能提升/减少BlueDot maxDistance,因为它可能会匹配(或不匹配)某些(BlackDot +他们自己的MaxDistance),而不应该。(/ p>
顺便说一下,我正在使用Erlang ......
任何想法,如何在不必从数据库中检索所有点并在我的软件中进行GPS数学的情况下如何做到这一点?
答案 0 :(得分:2)
显然可以使用聚合来完成:找到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 }
}
}
]