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 dengeonear
verwenden Befehl oder$geoNear
Aggregationsphase statt
Sehen Sie sich auch die Dokumentation für $near an und $geoWithin .