0

我在 mongoDB 中使用 $nearSphere 查询。我想要距离以及按距离排序的列表。

我想在显示结果的 javascript 中使用这个距离。我使用了几个公式来计算地球上各点之间的球面距离。没有给我 mongo 用来排序的确切距离?有什么帮助吗?

4

2 回答 2

1

如果您使用$geoNear 聚合命令,您还将获得计算出的距离。

我在今年伦敦 MongoDB 的一次演讲中发现了这一点,它描述了 $geoNear 的使用(幻灯片 36 和 37),以及 MongoDB 中的其他地理功能。

或者,您可以在以下一些演示文稿中了解一些 MongoDB 地理功能的工作原理:

我确定您已经通过 Google 找到了这个,但是 MongoDB 网站上有关于地理空间索引/查询的文档

于 2013-07-03T09:48:06.937 回答
0

这实际上非常简单。要在 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”参数,给出用于获取列表的确切距离。

于 2013-08-07T08:07:30.120 回答