I have a collection of stores with a geospacial index on the location propery.
What I am trying to do is given the user\'s latitude, latitude and a search radius (mi), I
In order to use mongodb $near queries with km bounds, you need to convert the radius value to km. By default mongodb $near accepts $maxDistance as radius.
Convert distance by 111.12 (one degree is approximately 111.12 kilometers) when using km, or leave distance as it is on using degree
let if your radius is in km then use
db.places.find( { loc : { $near : [50,50] , $maxDistance : 10/111.12 } } )
but if your radius in miles then convert it in km
As docs say:
All distances use radians. This allows you to easily multiply by the radius of the earth (about 6371 km or 3959 miles) to get the distance in your choice of units. Conversely, divide by the radius of the earth when doing queries.
so you simple need to divide your radius by the earth radius. in your example it would be:
radius = 10/3959