我有一个名为restaurants的集合..而且我已经格式化为geoJSON,我尝试查询以下方式
db.restaurants.find({ location:
{ $geoWithin:
{ $centerSphere: [ [ -73.93414657, 40.82302903 ], 5 / 3963.2 ] } } })
Run Code Online (Sandbox Code Playgroud)
我已经提到了半径5/3963.2(以英里为单位计算)..但我需要以公里为单位的半径距离 { $centerSphere: [ [ -73.93414657, 40.82302903 ], 5] }
我需要提到半径为公里
怎么做?
MongoDB期望以弧度表示的值.
要将距离转换为弧度,只需将距离值除以球体(地球)的半径,其中:
3963.2是英里的地球半径.
6378.1是以Km为单位的地球半径.
db.restaurants.find({ location:
{ $geoWithin:
{ $centerSphere: [ [ -73.93414657, 40.82302903 ], 5 / 6378.1 ] } } })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1342 次 |
| 最近记录: |