Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$near
El $near operador de Amazon DocumentDB se utiliza para buscar documentos que se encuentran geográficamente cerca de un punto específico. Devuelve los documentos ordenados por distancia, con los documentos más cercanos primero. Este operador requiere un índice geoespacial de 2dsphere y es útil para consultas de proximidad sobre datos de ubicación.
Parámetros
-
$geometry: un objeto GeoJSON Point que define el punto central de la consulta de proximidad. -
$maxDistance: (opcional) La distancia máxima en metros desde el punto especificado que puede ocupar un documento para que coincida con la consulta. -
$minDistance: (opcional) La distancia mínima en metros desde el punto especificado en la que puede estar un documento para que coincida con la consulta.
Requisitos del índice
-
2dsphere index: Necesario para consultas geoespaciales sobre datos de puntos de GeoJSON.
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo utilizar el $near operador para buscar los restaurantes más cercanos a una ubicación específica en Seattle, Washington.
Cree documentos de muestra
db.usarestaurants.insert([ { "name": "Noodle House", "city": "Seattle", "state": "Washington", "rating": 4.8, "location": { "type": "Point", "coordinates": [-122.3517, 47.6159] } }, { "name": "Pike Place Grill", "city": "Seattle", "state": "Washington", "rating": 4.2, "location": { "type": "Point", "coordinates": [-122.3403, 47.6062] } }, { "name": "Lola", "city": "Seattle", "state": "Washington", "rating": 4.5, "location": { "type": "Point", "coordinates": [-122.3407, 47.6107] } } ]);
Cree el índice de 2dsphere
db.usarestaurants.createIndex({ "location": "2dsphere" });
Ejemplo de consulta con GeoJSON Point
db.usarestaurants.find({ location: { $near: { $geometry: { type: "Point", coordinates: [-122.3516, 47.6156] }, $maxDistance: 100, $minDistance: 10 } } });
Salida
{
"_id" : ObjectId("69031ec9ea1c2922a1ce5f4a"),
"name" : "Noodle House",
"city" : "Seattle",
"state" : "Washington",
"rating" : 4.8,
"location" : {
"type" : "Point",
"coordinates" : [ -122.3517, 47.6159 ]
}
}
Ejemplos de código
Para ver un ejemplo de código para usar el $near comando, elija la pestaña del idioma que desee usar: