MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Geodatenunterschied zwischen $near und $within

Die Hauptunterschiede sind

  • $near sortiert nach Entfernung von einem Punkt; $geoWithin testet auf Containment in einem Polygon oder Multipolygon mit GeoJSON-Koordinaten oder Containment in einer Form aus einem Satz von Formen für 2D-Koordinaten
  • $near gibt das Dokument vom nächsten zum am weitesten entfernten zurück und jede andere Bestellung erfordert eine Sortierung im Speicher; $geoWithin kann mit anderen Sortierindizes verwendet werden
  • $near erfordert einen Geoindex; $geoWithin funktioniert besser mit einem, erfordert es aber nicht
  • $near wird in Sharding-Clustern nicht unterstützt - Sie müssen den geonear verwenden Befehl oder$geoNear Aggregationsphase statt

Sehen Sie sich auch die Dokumentation für $near an und $geoWithin .