How is $maxDistance measured in MongoDB?

2019-03-09 13:24发布

I can't seem to find this information. But using a geo search you can specify $maxDistance but for the life of me, I can't find if that is miles, kilometers, etc.

Here is a sample query I'm using:

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

Returns 15 (from my hotels database).

Thanks for any information.

2条回答
混吃等死
2楼-- · 2019-03-09 13:37

Unless you're doing a spherical query (like $nearSphere), MongoDB doesn't actually care about units, it just treats your locations as Cartesian coordinates.

So, the calculated distance is going to be in whatever your input units were. Since your $near point looks like standard lat/long, the $maxDistance in this case will be in units of degrees.

查看更多
贼婆χ
3楼-- · 2019-03-09 13:52

If you are using $near,

$maxDistance = your distance in Kms / 111 

and if you use $nearSphere,

$maxDistance = your distance in kms/ 6378

where 6378 is the earths radius in kms

查看更多
登录 后发表回答