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