2014-11-06 60 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

最大距离的测量单位由使用中的 坐标系确定。