Sommaire

L’opérateur $nearSphere

Cet opérateur requiert un index géospatial de type 2dsphere quand on l’utilise avec des objets GeoJSON et un index 2d quand il est utilisé avec des coordonnées de type legacy. Lorsqu’il opère sur des objets GeoJSON de type Point, sa syntaxe est :

{ 
 $nearSphere: { 
    $geometry: { 
       type : "Point", 
       coordinates : [ <longitude>, <latitude> ] 
    }, 
    $minDistance: <distance en mètres>, 
    $maxDistance: <distance en mètres> 
 } 
}

Les champs $minDistance et $maxDistance sont optionnels et leur unité de mesure est le mètre.

Lorsqu’il travaille avec des coordonnées de type legacy, l’opérateur possède cette forme-ci :

{ 
 $nearSphere: [ <x>, <y> ], 
 $minDistance: <distance en radians>, 
 $maxDistance: <distance en radians> 
}

Les champs $minDistance et $maxDistance sont là aussi optionnels, mais leur unité de mesure est le radian et non plus le mètre. Nous l’avons déjà évoqué, mais retenez que lorsque x et y matérialisent des coordonnées géographiques la longitude doit toujours être précisée en premier.

Qu’il travaille avec des objets GeoJSON ou des coordonnées legacy, $nearSphere ...