- Reference >
- Operators >
- Query and Projection Operators >
- Geospatial Query Operators >
- $minDistance
$minDistance¶
On this page
Definition¶
-
$minDistance
¶ New in version 2.6.
Filters the results of a geospatial
$near
or$nearSphere
query to those documents that are at least the specified distance from the center point.$minDistance
is available for use with 2dsphere index only.If
$near
or$nearSphere
query specifies the center point as a GeoJSON point, specify the distance as a non-negative number in meters.If
$nearSphere
query specifies the center point as legacy coordinate pair, specify the distance as a non-negative number in radians.$near
can 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
-180
and180
, both inclusive. - Valid latitude values are between
-90
and90
(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