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.
$near
L'$nearopérateur d'Amazon DocumentDB est utilisé pour rechercher des documents situés géographiquement à proximité d'un point spécifique. Il renvoie les documents classés par distance, en commençant par les documents les plus proches. Cet opérateur nécessite un index géospatial à deux sphères et est utile pour les requêtes de proximité sur les données de localisation.
Paramètres
-
$geometry: objet Point GeoJSON qui définit le point central de la requête de proximité. -
$maxDistance: (facultatif) Distance maximale en mètres à partir du point spécifié qu'un document peut atteindre pour correspondre à la requête. -
$minDistance: (facultatif) Distance minimale en mètres à partir du point spécifié qu'un document peut atteindre pour correspondre à la requête.
Exigences relatives à l'indice
-
2dsphere index: obligatoire pour les requêtes géospatiales sur les données de points GeoJSON.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser l'$nearopérateur pour trouver les restaurants les plus proches d'un lieu spécifique à Seattle, dans l'État de Washington.
Création d'exemples de documents
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] } } ]);
Créer un index 2dsphere
db.usarestaurants.createIndex({ "location": "2dsphere" });
Exemple de requête avec GeoJSON Point
db.usarestaurants.find({ location: { $near: { $geometry: { type: "Point", coordinates: [-122.3516, 47.6156] }, $maxDistance: 100, $minDistance: 10 } } });
Sortie
{
"_id" : ObjectId("69031ec9ea1c2922a1ce5f4a"),
"name" : "Noodle House",
"city" : "Seattle",
"state" : "Washington",
"rating" : 4.8,
"location" : {
"type" : "Point",
"coordinates" : [ -122.3517, 47.6159 ]
}
}
Exemples de code
Pour afficher un exemple de code d'utilisation de la $near commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :