cbmeeks
cbmeeks

Reputation: 11420

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.

Upvotes: 12

Views: 6565

Answers (2)

NIJESH ku
NIJESH ku

Reputation: 409

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

Upvotes: 3

John Flatness
John Flatness

Reputation: 33829

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.

Upvotes: 22

Related Questions