У меня есть список достопримечательностей, скажем, ресторанов, театров, садов и т. Д., Сохраненных в базе данных Mongo. Затем у меня есть приложение, которое отслеживает движения пользователя в городе и периодически собирает его. Если я нахожу, что человек находится «рядом» с достопримечательностью, мне нужно отправить ему / ей уведомление. «Близость» для POI - это переменная величина: для ресторана это может быть 100 м, для театра - 200 м, для сада - 20 м и т. Д.
Каждый POI, конечно, сохраняется как отдельный документ. Теперь, есть ли способ запустить запрос на MongoDB с указанием широты / долготы человека и получить список POI поблизости?
Скажите, мои документы выглядят так:
{
"тип": "ресторан",
"имя": "Бинни",
"loc": [-122.10396, 37.45093],
"maxDist": 100
}
{
«тип»: «музей»,
"имя": "Рипли",
"loc": [-122.24546, 37.48251],
"maxDist": 500
}
Мне нужно запустить запрос, который дает мне список POI поблизости (не более метра maxDist от POI) для заданного значения широты / долготы, скажем, [-122.12098,37.46001].
Есть ли способ построить запрос для достижения этой цели? Если мне нужно немного изменить структуру документа, это нормально.
Заранее спасибо.