De största skillnaderna är
$near
sorterar baserat på avstånd från en punkt;$geoWithin
testar för inneslutning i en polygon eller multipolygon med GeoJSON-koordinater, eller inneslutning i en av en uppsättning former för 2d-koordinater$near
returnerar dokument från närmaste till längst bort och alla andra beställningar kräver sortering i minnet;$geoWithin
kan användas med andra sorteringsindex$near
kräver ett geospatialt index;$geoWithin
presterar bättre med en men kräver det inte$near
stöds inte i delade kluster - du måste användageonear
kommando eller$geoNear
aggregeringsstadiet istället
Kolla även in dokumentationen för $near och $geoWithin .