【发布时间】:2019-04-03 14:07:35
【问题描述】:
我有一个兴趣点列表,例如餐馆、剧院、花园等,保存在 Mongo 数据库中。然后,我有一个应用程序可以跟踪用户在城市中的活动并间歇性地收集位置。如果我发现某人“靠近”某个兴趣点,我需要向她/他发送通知。 POI 的“接近度”是一个变量 - 餐厅可能是 100m,剧院可能是 200m,花园可能是 20m,等等。
当然,每个兴趣点都保存为单独的文档。现在,有没有办法在 MongoDB 上使用人的纬度/经度触发查询并检索附近的 POI 列表?
说,我的文件是这样的:
{ “类型”:“餐厅”, "name": "宾尼的", "loc": [-122.10396, 37.45093], “最大距离”:100 }
{ “类型”:“博物馆”, “名称”:“里普利的”, "loc": [-122.24546, 37.48251], “最大距离”:500 }
我需要触发一个查询,为给定的纬度/经度值(例如 [-122.12098,37.46001])提供附近的 POI 列表(距离 POI 不超过 'maxDist' 米)。
有没有办法构造一个查询来实现这一点?如果我必须稍微改变一下文档结构,那很好。
提前致谢。
【问题讨论】:
标签: mongodb geospatial