MongoDB中是否有类似反向地理空间查询的内容?

时间:2019-04-03 14:07:35

标签: mongodb geospatial

我在Mongo数据库中保存了景点列表,例如餐馆,剧院,花园等。然后,我有了一个应用程序,该应用程序可以跟踪用户在城市中的移动,并间歇性地收集位置信息。如果我发现某人位于景点附近,则需要向他/他发送通知。 POI的“近距离”是可变的,例如,餐馆可能是100m,剧院可能是200m,花园可能是20m,等等。

每个POI当然都保存为单独的文档。现在,是否有一种方法可以使用一个人的经/纬度在MongoDB上触发查询并检索附近的POI列表?

说,我的文档是这样的:

{   “ type”:“餐厅”,   “ name”:“ Binny's”,   “ loc”:[-122.10396,37.45093],   “ maxDist”:100 }

{   “ type”:“博物馆”,   “ name”:“ Ripley's”,   “ loc”:[-122.24546,37.48251],   “ maxDist”:500 }

对于给定的经度/纬度值,例如[-122.12098,37.46001],我需要执行一个查询,该查询为我提供附近的POI列表(距离POI不超过“ maxDist”米)。

是否可以通过构造查询来实现此目的?如果我必须稍微更改文档结构,那很好。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用$near。它将允许您查询用户的位置以及特定距离内的所有位置。