Вы должны взглянуть на команду geoNear .
Общий пример:
db.runCommand(
{
geoNear: "places", // Your target collection
near: { type: "Point", coordinates: [ -73.9667, 40.78 ] }, // Point coordinates
spherical: true, // 2dsphere index required for using this option
query: { yourField: "someFilterVale" }, // Additional regular filtering
maxDistance: 2000 // Maximum distance in meters/radians
}
)
minDistance
также доступен для запросов
Для этой цели в вашей коллекции должен быть индекс 2d или 2dsphere .
Также имеется агрегация $ geoNear .