2016-02-19 53 views
0

我在Robomongo/cli中使用此查詢來獲取距離給定的座標正確工作的記錄。如何獲得從MongoDB查詢時的距離(地理空間概念)

現在我該如何獲得相同查詢的距離?

下面是我的查詢

db.places.find(
{ 
    loc : 
    { 
     $near : 
     { 
      $geometry : 
      { 
       type : "Point", 
       coordinates : [12.974729, 77.609375], 
       $maxDistance : 2000 
      } 
     } 
    } 
) 

JSON文件

{ 
    "_id" : ObjectId("56c6becd8586e7a757260d62"), 
    "name" : "address here", 
    "loc" : { 
     "type" : "Point", 
     "coordinates" : [ 
      12.9802900000000001, 
      77.5857400000000013 
     ] 
    } 
} 

回答

1

可以使用GeoNear命令返回統計數據,包括average distance

db.runCommand({ 
    geoNear: "places" , 
    near: { type: "Point", coordinates: [12.974729, 77.609375] }, 
    spherical: true, 
    maxDistance: 2000 
}).stats.avgDistance 
+0

我不能運行它給「沒有地理索引:(「錯誤。我正在使用mongo 2.2.0版本號 – Sharath

+0

您需要使用地理索引才能使用地理空間查詢。 –

+0

這是命令db.places.ensureIndex({'loc':「2dsphere」});應該用來創建地理索引。我的json文檔在文章中更新 – Sharath

相關問題