MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Différence géospatiale MongoDB entre $near et $within

Les principales différences sont

  • $near trie en fonction de la distance à partir d'un point ; $geoWithin teste le confinement dans un polygone ou multipolygone avec des coordonnées GeoJSON, ou le confinement dans l'une d'un ensemble de formes pour les coordonnées 2d
  • $near renvoie le document du plus proche au plus éloigné et tout autre ordre nécessite un tri en mémoire ; $geoWithin peut être utilisé avec d'autres index de tri
  • $near nécessite un index géospatial; $geoWithin fonctionne mieux avec un mais ne l'exige pas
  • $near n'est pas pris en charge dans les clusters fragmentés - vous devez utiliser le geonear commande ou $geoNear plutôt l'étape d'agrégation

Consultez également la documentation pour $near et $geoWithin .