如何在MongoDB中测量$ maxDistance?

时间:2011-03-16 01:23:34

标签: mongodb geospatial

我似乎无法找到这些信息。但是使用地理搜索可以指定$maxDistance但是对于我的生命,我无法找到它是英里,公里等。

以下是我正在使用的示例查询:

db.hotels.find( { location: { $near : [18.74255, 99.03523], $maxDistance : 0.05 } } ).count()

返回15(来自我的酒店数据库)。

感谢您提供任何信息。

2 个答案:

答案 0 :(得分:20)

除非您正在进行球形查询(例如$nearSphere),否则MongoDB实际上并不关心单位,它只是将您的位置视为笛卡尔坐标。

因此,计算出的距离将与输入单位无关。由于您的$near点看起来像标准纬度/经度,因此在这种情况下$maxDistance将以度为单位。

答案 1 :(得分:4)

如果您使用的是$near

$maxDistance = your distance in Kms / 111 

如果您使用$nearSphere

$maxDistance = your distance in kms/ 6378

其中6378是以千米为单位的地球半径