Możesz użyć $geoNear
zagregować etap rurociągu, aby uzyskać odległość od badanego punktu:
db.new_stores.aggregate([
{ "$geoNear": {
"near": {
"type": "Point",
"coordinates": [ -81.093699, 32.074673 ]
},
"maxDistance": 500 * 1609,
"spherical": true,
"distanceField": "distance",
"distanceMultiplier": 0.000621371
}}
]).pretty()
Pozwala to określić "distanceField"
co wygeneruje kolejne pole w dokumentach wyjściowych zawierające odległość od badanego punktu. Możesz także użyć "distanceMultiplier"
zastosować dowolną konwersję do odległości wyjściowej zgodnie z wymaganiami (tj. metry na mile i zwracając uwagę, że wszystkie odległości GeoJSON są zwracane w metrach)
Istnieje również geoNear
polecenie z podobnymi opcjami, ale oczywiście nie zwraca kursora jako wyjścia.