2014-11-06 61 views
0

我射擊下面的查詢,這裏選擇的經度和緯度是在紐約市的一個地方 -MongoDB的附近找到maxdistance值與實際距離

db.acollection.find({"afield.location": {$near:[40.744010,-73.989334],$maxDistance :3.4}}) 

,我能夠得到在以下位置我的結果 -

"afield" : [ 
     { 
      "country" : "United States", 
      "countryCode" : "US", 
      "location" : { 
       "lat" : 42.3584308, 
       "long" : -71.0597732 
      }, 
      "name" : "Boston", 
      "state" : "Massachusetts" 
     } 
    ] 

爲什麼我需要指定至少3.4作爲maxDistance?地球的半徑是3,959英里。紐約(美國 - 紐約)和波士頓(美國 - 馬薩諸塞州)之間的距離是191英里。
http://www.timeanddate.com/worldclock/distanceresult.html?p1=179&p2=43

我需要的弧度指定maxDistance - http://docs.mongodb.org/manual/reference/operator/query/near/

爲什麼,如果我用maxDistance爲0.05即三千九百五十九分之一百九十一查詢不工作?

爲什麼我需要使用更大的價值?

回答

0

有度數,不是弧度。 Mongo docs

最大距離的測量單位由使用中的 座標系確定。