Можете да използвате $geoNear
агрегатен етап на тръбопровода, за да произведе разстояние от запитаната точка:
db.new_stores.aggregate([
{ "$geoNear": {
"near": {
"type": "Point",
"coordinates": [ -81.093699, 32.074673 ]
},
"maxDistance": 500 * 1609,
"spherical": true,
"distanceField": "distance",
"distanceMultiplier": 0.000621371
}}
]).pretty()
Това ви позволява да посочите "distanceField"
което ще създаде друго поле в изходните документи, съдържащо разстоянието от запитаната точка. Можете също да използвате "distanceMultiplier"
за да приложите каквото и да е преобразуване към изходното разстояние според изискванията (т.е. метри в мили и отбелязвайки, че всички разстояния GeoJSON се връщат в метри)
Има и geoNear
команда с подобни опции, но тя, разбира се, не връща курсор като изход.