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.
$geoWithin
El $geoWithin operador de Amazon DocumentDB se utiliza para buscar documentos cuyos datos de ubicación (representados como objetos GeoJSON) estén completamente contenidos en una forma específica, como un polígono o un multipolígono. Esto resulta útil para consultar objetos que se encuentran dentro de una región geográfica específica.
Parámetros
-
$geometry: un objeto GeoJSON que representa la forma sobre la que se va a realizar la consulta.
Ejemplo (MongoDB Shell)
El siguiente ejemplo muestra cómo utilizar el $geoWithin operador para buscar todos los aeropuertos ubicados en el estado de Nueva York.
Cree documentos de muestra
// Insert state document db.states.insert({ "name": "New York", "loc": { "type": "Polygon", "coordinates": [[ [-79.76278, 45.0], [-73.94, 45.0], [-73.94, 40.5], [-79.76278, 40.5], [-79.76278, 45.0] ]] } }); // Insert airport documents db.airports.insert([ { "name": "John F. Kennedy International Airport", "type": "airport", "code": "JFK", "loc": { "type": "Point", "coordinates": [-73.7781, 40.6413] } }, { "name": "LaGuardia Airport", "type": "airport", "code": "LGA", "loc": { "type": "Point", "coordinates": [-73.8772, 40.7769] } }, { "name": "Buffalo Niagara International Airport", "type": "airport", "code": "BUF", "loc": { "type": "Point", "coordinates": [-78.7322, 42.9403] } } ]);
Ejemplo de consulta
var state = db.states.findOne({"name": "New York"}); db.airports.find({ "loc": { "$geoWithin": { "$geometry": state.loc } } }, { "name": 1, "type": 1, "code": 1, "_id": 0 });
Salida
[
{
"name": "John F. Kennedy International Airport",
"type": "airport",
"code": "JFK"
},
{
"name": "LaGuardia Airport",
"type": "airport",
"code": "LGA"
}
]
Ejemplos de código
Para ver un ejemplo de código para usar el $geoWithin comando, elija la pestaña del idioma que desee usar: