MongoDB:如何在没有索引的情况下计算两个坐标内的距离

时间:2016-03-03 18:11:44

标签: node.js mongodb geolocation

我需要在聚合框架中获得两个坐标之间的距离,但是只有我使用$ text的第一个匹配管道可以使用索引,我不能使用$ geoNear或$ text相同的匹配查询。 我解决了使用以下方法返回半径内坐标的问题:

{$geoWithin: {$centerSphere: [[lon, lat], (distance*1000)/6731]}}

但我无法弄清楚如何在不使用索引的情况下计算距离。

这是管道的前两个阶段

[
{ '$match': { '$text': { $search: "some text" } } },
{ '$match': { coordinate: {$geoWithin: {$centerSphere: [[lon, lat],  (distance*1000)/6731]}}, type: 0 } }
]

通过向此管道添加$项目,可以返回[x,y]和[lon,lat]之间的距离吗?

0 个答案:

没有答案