Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How is $maxDistance measured in MongoDB?

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.

like image 839
cbmeeks Avatar asked Mar 16 '11 01:03

cbmeeks


2 Answers

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.

like image 94
John Flatness Avatar answered Oct 23 '22 02:10

John Flatness


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

like image 3
NIJESH ku Avatar answered Oct 23 '22 02:10

NIJESH ku