$minDistance
Definition
New in version 2.6.
Filters the results of a geospatial $near
or$nearSphere
query to those documents that are at least thespecified distance from the center point.
If $near
or $nearSphere
query specifies the centerpoint as a GeoJSON point, specify the distanceas a non-negative number in meters.
If $nearSphere
query specifies the center point aslegacy coordinate pair, specifythe distance as a non-negative number in radians. $near
can only use the 2dsphere index if the queryspecifies the center point as a GeoJSON point.
Examples
Use with $near
Important
If specifying latitude and longitude coordinates, list thelongitude first and then latitude:
- Valid longitude values are between
-180
and180
, bothinclusive. - Valid latitude values are between
-90
and90
, bothinclusive.
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 GeoJSONpoint, 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 alocation
field and has a 2dsphere index.
Then, the following example returns whose location
is at least1000
meters from and at most 5000
meters from the specifiedpoint, 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 coordinatepair, see $nearSphere