我有一个名为restaurants的集合..而且我已经格式化为geoJSON,我试图以下列方式查询
db.restaurants.find({ location:
{ $geoWithin:
{ $centerSphere: [ [ -73.93414657, 40.82302903 ], 5 / 3963.2 ] } } })
我已经提到了半径5/3963.2(以英里为单位计算)..但我需要以公里为单位的半径距离{ $centerSphere: [ [ -73.93414657, 40.82302903 ], 5] }
我需要提到以公里为单位的半径
怎么做?
答案 0 :(得分:7)
MongoDB期望弧度值。
要将距离转换为弧度,只需将距离值除以球体(地球)的半径,其中:
3963.2是Miles中的地球半径。
6378.1是以公里为单位的地球半径。
db.restaurants.find({ location:
{ $geoWithin:
{ $centerSphere: [ [ -73.93414657, 40.82302903 ], 5 / 6378.1 ] } } })