Du kan använda $geoNear
samlat pipelinesteg för att producera ett avstånd från den frågade punkten:
db.new_stores.aggregate([
{ "$geoNear": {
"near": {
"type": "Point",
"coordinates": [ -81.093699, 32.074673 ]
},
"maxDistance": 500 * 1609,
"spherical": true,
"distanceField": "distance",
"distanceMultiplier": 0.000621371
}}
]).pretty()
Detta låter dig ange "distanceField"
vilket kommer att producera ett annat fält i utdatadokumenten som innehåller avståndet från den frågade punkten. Du kan också använda "distanceMultiplier"
att tillämpa eventuell omvandling på utmatningsavståndet efter behov (dvs. meter till miles, och notera att alla GeoJSON-avstånd returneras i meter )
Det finns också geoNear
kommando med liknande alternativ, men det returnerar naturligtvis inte en markör som utdata.