Główne różnice to
$near
sortuje na podstawie odległości od punktu;$geoWithin
testy na zawieranie w wielokącie lub multipoligonie ze współrzędnymi GeoJSON lub zawieranie w jednym z zestawów kształtów dla współrzędnych 2d$near
zwraca dokument od najbliższego do najdalszego, a każde inne zlecenie wymaga sortowania w pamięci;$geoWithin
może być używany z innymi indeksami sortowania$near
wymaga indeksu geoprzestrzennego;$geoWithin
działa lepiej z jednym, ale go nie wymaga$near
nie jest obsługiwany w klastrach sharded - musisz użyćgeonear
polecenie lub$geoNear
zamiast tego etap agregacji
Zapoznaj się również z dokumentacją $near i $geoWithin .