Использование команды "geoNear" вернет значение "dis" как часть результатов.Умножив это значение на радиус Земли в выбранной вами единице, вы получите расстояние между этим результатом и вашим исходным местоположением.
Например, где «места» - это название коллекции, а широта / долгота для вашей исходной точки - 50, 50.
db.command( { geoNear : "places" , near : [50,50] } );
Возвращает результат в формате:
[
{
"dis" : 0.3886630122897946,
"obj" : {
"_id" : ObjectId("4d9123026ccc7e2cf22925c4"),
"pos" : {
"lon" : -10,
"lat" : -20
}
}
}
]
Умножая значение dis каждого результата на 6371, вы получите расстояние в км, а 3959 - мили.
Более подробная информация и примеры приведены в документах Mongo .