我在 mongoDB 中使用 $nearSphere 查询。我想要距离以及按距离排序的列表。
我想在显示结果的 javascript 中使用这个距离。我使用了几个公式来计算地球上各点之间的球面距离。没有给我 mongo 用来排序的确切距离?有什么帮助吗?
我在 mongoDB 中使用 $nearSphere 查询。我想要距离以及按距离排序的列表。
我想在显示结果的 javascript 中使用这个距离。我使用了几个公式来计算地球上各点之间的球面距离。没有给我 mongo 用来排序的确切距离?有什么帮助吗?
如果您使用$geoNear 聚合命令,您还将获得计算出的距离。
我在今年伦敦 MongoDB 的一次演讲中发现了这一点,它描述了 $geoNear 的使用(幻灯片 36 和 37),以及 MongoDB 中的其他地理功能。
或者,您可以在以下一些演示文稿中了解一些 MongoDB 地理功能的工作原理:
我确定您已经通过 Google 找到了这个,但是 MongoDB 网站上有关于地理空间索引/查询的文档
这实际上非常简单。要在 java 中添加,请创建如下查询,例如
BasicDBObject distanceQuery = new BasicDBObject();
BasicDBObject sphereQuery = new BasicDBObject();
sphereQuery.put("$nearSphere",new Double[]{lat, lan});
sphereQuery.put("$maxDistance", radiusInKm/6371);
distanceQuery.put("point", sphereQuery);
在响应中,您将获得一个“dist”参数,给出用于获取列表的确切距离。