Les requêtes géospatiales dans MongoDB consistent à analyser les données en fonction de leur position géographique. Par exemple, vous pourriez vouloir trouver tous les magasins dans un certain rayon par rapport à un certain point ou trouver le point le plus proche d’un certain emplacement.
Voici quelques étapes de base pour utiliser les requêtes géospatiales dans MongoDB:
1. Structure des Données: Pour utiliser les requêtes géospatiales, vos documents doivent contenir un champ contenant les coordonnées. Celles-ci sont habituellement stockées comme une paire de longitude et latitude. Par exemple : \`\`\` { name: “MonMagasin”, location: [ -73.856077, 40.848447 ] } \`\`\`
1. Création d’un Index Géospatial: Ensuite, vous devez créer un index géospatial sur ce champ. Cela permet à MongoDB d’effectuer rapidement des requêtes géospatiales. Voici comment vous pouvez créer un index géospatial : \`\`\`sh db.collection.createIndex( { location : “2dsphere” } ) \`\`\`
1. Requête géospatiale: Maintenant, vous pouvez effectuer des requêtes géospatiales. Par exemple, la requête suivante vous permet de trouver les documents qui sont proches d’un certain point : \`\`\`sh var point = { type : “Point”, coordinates : [ -73.97, 40.77 ] }; db.collection.find({ location : { $near : { $geometry : point, $minDistance : 1000, $maxDistance : 5000 } } }); \`\`\`
Cette requête retournera tous les documents dont la localisation est comprise entre 1 000 et 5 000 mètres du point spécifié.
Il existe une énorme variété de requêtes géospatiales que vous pouvez utiliser pour interroger vos données, vous pouvez trouver la bonne pour votre cas d’utilisation en consultant la documentation de MongoDB. Assurez-vous également d’inclure un index géospatial pour optimiser vos requêtes géospatiales.