我在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”米)。
是否可以通过构造查询来实现此目的?如果我必须稍微更改文档结构,那很好。
谢谢。