$minDistance
Definição
$minDistance
Filtra os resultados de uma query geoespacial
$near
ou$nearSphere
para os documentos que estão pelo menos à distância especificada do ponto central.Se a query
$near
ou$nearSphere
especificar o ponto central como um ponto GeoJSON , especifique a distância como um número não negativo em metros .Se a query
$nearSphere
especificar o ponto central como um par de coordenadas legado, especifique a distância como um número não negativo em radianos.$near
só pode usar o índice 2dsphere se a query especificar o ponto central como um ponto GeoJSON.
Exemplos
Usar com $near
Importante
Se especificar coordenadas de latitude e longitude, liste a longitude primeiro e então a latitude.
Os valores de longitude válidos estão entre
-180
e180
, ambos inclusos.Os valores de latitude válidos estão entre
-90
e90
, ambos inclusos.
Considere uma collection places
que tenha um índice 2dsphere
.
O exemplo a seguir retorna documentos que estão a pelo menos 1000
metros e no máximo a 5000
metros do ponto GeoJSON especificado, classificados do mais próximo para o mais distante:
db.places.find( { location: { $near : { $geometry: { type: "Point", coordinates: [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
Usar com $nearSphere
Considere uma collection places
que contém documentos com um campo location
e tem um índice 2dsphere.
Em seguida, o exemplo a seguir retorna location
que esteja a pelo menos 1000
metros e no máximo 5000
metros do ponto especificado, ordenado do mais próximo para o mais distante:
db.places.find( { location: { $nearSphere: { $geometry: { type : "Point", coordinates : [ -73.9667, 40.78 ] }, $minDistance: 1000, $maxDistance: 5000 } } } )
Para ver um exemplo que especifica o ponto central como um par de coordenadas legado, consulte $nearSphere