Definition
$minDistanceFilters the results of a geospatial
$nearor$nearSpherequery to those documents that are at least the specified distance from the center point.If
$nearor$nearSpherequery specifies the center point as a GeoJSON point, specify the distance as a non-negative number in meters.If
$nearSpherequery specifies the center point as legacy coordinate pair, specify the distance as a non-negative number in radians.$nearcan only use the 2dsphere index if the query specifies the center point as a GeoJSON point.
Examples
Use with $near
Important
If specifying latitude and longitude coordinates, list the longitude first, and then latitude.
Valid longitude values are between
-180and180, both inclusive.Valid latitude values are between
-90and90, both inclusive.
Consider a collection places that has a 2dsphere index.
The following example returns documents that are at least 1000
meters from and at most 5000 meters from the specified GeoJSON
point, sorted from nearest to farthest:
db.places.find( { location: { $near : { $geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
Use with $nearSphere
Consider a collection places that contains documents with a
location field and has a 2dsphere index.
Then, the following example returns whose location is at least
1000 meters from and at most 5000 meters from the specified
point, ordered from nearest to farthest:
db.places.find( { location: { $nearSphere: { $geometry: { type : "Point", coordinates : [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
For an example that specifies the center point as legacy coordinate
pair, see $nearSphere