MongoDB的$near和$geoNear给出了与真实位置有巨大差异的位置。

问题描述 投票:0回答:1

我注意到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,
                 }
    }
    ])

enter image description here

任何想法为什么?

mongodb geolocation
1个回答
0
投票

看上去像$near和$geoNear需要把纬度和长度换一下。这是个问题,请参考这个。geoNear返回的距离不正确

© www.soinside.com 2019 - 2024. All rights reserved.