Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$geoWithin
L'$geoWithinopérateur d'Amazon DocumentDB est utilisé pour rechercher les documents dont les données de localisation (représentées sous forme d'objets GeoJSON) sont entièrement contenues dans une forme spécifiée, telle qu'un polygone ou un multipolygone. Cela est utile pour rechercher des objets situés dans une région géographique spécifique.
Paramètres
-
$geometry: objet GeoJSON qui représente la forme sur laquelle effectuer une requête.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser l'$geoWithinopérateur pour rechercher tous les aéroports situés dans l'État de New York.
Création d'exemples de documents
// 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] } } ]);
Exemple de requête
var state = db.states.findOne({"name": "New York"}); db.airports.find({ "loc": { "$geoWithin": { "$geometry": state.loc } } }, { "name": 1, "type": 1, "code": 1, "_id": 0 });
Sortie
[
{
"name": "John F. Kennedy International Airport",
"type": "airport",
"code": "JFK"
},
{
"name": "LaGuardia Airport",
"type": "airport",
"code": "LGA"
}
]
Exemples de code
Pour afficher un exemple de code d'utilisation de la $geoWithin commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :