Перечислите местоположения рядом с широтой, долготой от сохраненной широты в базе данных - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть [lat, lon] пары разных местоположений, которые хранятся в MongoDb .Теперь я хочу сравнить определенную пару координат по расстоянию, как в окружности 2 км от этой точки, и хочу взять результаты всех из базы данных.

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны взглянуть на команду 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 .

...