我注意到MongoDB的$near和$geoNear返回的距离比应该的大了1公里左右。
Point1(当前位置):纬度:54.8985,经度:23.9036。
Point2(在数据库中的位置)。"location" : { "type" : "Point", "coordinates" : [ 54.91689, 23.97423 ] }
基于多库的距离应该在 4.7公里
然而mongodb返回。"calcDistance" : 8082 =... 8公里
差别在于 4公里你可以在这里查看。
我试过球面和非球面 也试过 "geowNear "和 "near
我的代码。
db.getCollection('collection').aggregate([
{
$geoNear: {
near: { type: 'Point', coordinates: [ 54.8985, 23.9036 ] },
distanceField: 'calcDistance',
maxDistance: 5 * 1000,
}
}
])
任何想法为什么?
看上去像$near和$geoNear需要把纬度和长度换一下。这是个问题,请参考这个。geoNear返回的距离不正确