【发布时间】:2015-06-22 19:56:00
【问题描述】:
我的文档类中有两个双字段(纬度/经度)。
Double lat, lng;
如何将它们与 Spring Data 一起使用以进行近旁搜索?
我只找到了 NearQuery 和 Query 的示例。 在 NearQuery 示例中没有提到使用了哪些字段,并且 Query 仅适用于双数组。
有没有办法使用分离的 lat、lng 字段进行近旁搜索?
使用 NearQuery(clat/clng 为中心点,rangeKm 为半径,单位为公里)
NearQuery.near(clat, clng, Metrics.KILOMETERS).maxDistance(rangeKm);
带查询(location是lat/lng数组,clat/clng是中心点,rangeKm是半径km)
criteria.and("location").near(new Point(clat, clng)).maxDistance(rangeKm);
编辑: 我决定制作一个双数组并通过查询进行搜索。 maxDistance 的默认测量单位是什么(米、公里……)?
【问题讨论】:
标签: mongodb spring-data