我已尝试查看mongodb的源代码,但我无法弄清楚他们如何计算距离的$ near结果。我需要在javascript中重新编写他们的方法,这样我才能显示距离。
注意:我知道使用聚合调用,我可以获得返回的距离,但在我的情况下,我无法使用聚合。
答案 0 :(得分:0)
为什么不能使用聚合?这是一个非常奇怪的限制,特别是因为如果你成长为一个分片集群,$near
将不起作用!你能使用geoNear
command吗?
如果您绝对必须计算球体上两点之间的距离,我建议您使用标准公式,例如distance on spheres上文章中的公式。对于地球来说,完美球体的简单(r)公式精确到1%以内,有点压扁,显然不是非常光滑。