Definición
$minDistanceFiltra los resultados de una geoespacial
$nearo$nearSpherequery a aquellos documentos que están al menos a la distancia especificada del punto central.Si
$nearo$nearSpherela query especifica el punto central como un punto GeoJSON, especifica la distancia como un número no negativo en metros.Si la consulta
$nearSphereespecifica el punto central como un par de coordenadas heredadas, establecer la distancia como un número no negativo en radianes.$nearsolo puede utilizar el índice 2dsphere si la query especifica el punto central como punto GeoJSON.
Ejemplos
Usar con $near
Importante
Si especifica coordenadas de longitud y latitud, enumera primero la longitud y luego la latitud.
Los valores de longitud válidos están entre
-180y180, ambos inclusive.Los valores de latitud válidos están entre
-90y90, ambos inclusive.
Considera una colección places que tenga un índice 2dsphere.
El siguiente ejemplo devuelve documentos que están a al menos 1000 metros y como máximo 5000 metros del punto GeoJSON especificado, ordenados desde el más cercano hasta el más lejano:
db.places.find( { location: { $near : { $geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
Usar con $nearSphere
Considera una colección places que contenga documentos con un campo location y tenga un índice 2dsphere.
Luego, el siguiente ejemplo devuelve aquellos cuya location está, como mínimo, a 1000 metros o, como máximo, a 5000 metros del punto especificado, ordenados de menor a mayor distancia:
db.places.find( { location: { $nearSphere: { $geometry: { type : "Point", coordinates : [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
Para ver un ejemplo que especifica el punto central como un par de coordenadas antiguas, consulta $nearSphere