mongoDB проверяет местоположение пользователя по геолокации - PullRequest
0 голосов
/ 07 января 2020

Таким образом, я полностью понимаю, как искать точки или местоположение в 10-километровом диапазоне географического местоположения. Но я хочу попробовать что-то немного по-другому, и я не уверен на 100%, как go об этом.

В двух словах, я хочу сказать, что у меня есть некоммерческий бизнес сообщества, который хочет рассказать людям в пределах 40 км. бизнес, но если мы пользователь дальше, чем это, то не предлагайте его сообществу.

В mongodb я сохранил географическое местоположение некоммерческого сообщества

{
location:{
coordinates[0:115.807187,1:-32.1624188]
},
range:40,
type:"Point",
name:"Wattleup"
}

Теперь что мы получаем от человека, открывающего наше приложение, они отправляют свое географическое местоположение.

Обычно мы ищем так:

{ location:{ $geoWithin:{ $centerSphere: [ [ 115.880321, -31.9256201], 5 / 6378.1] } } }

Как вы можете видеть, мы установили KM на 5, и это жестко закодировано .

Итак, что мы хотим сделать, так это, если возможно, по-прежнему выполнять этот запрос, но также включать запрос, который выглядит так, что группа сообщества перечисляет предпочтительный диапазон, и проверяет, находится ли человек, открывающий приложение, в диапазоне сказала группа сообщества или нет. Если это так, покажите, а если нет, то не покажите.

У кого-нибудь есть идеи?

Я пробовал что-то подобное

{location:{$near: {$geometry: {coordinates: [ 115.880321, -31.9256201]},$maxDistance:10,$minDistance: 150000}}

Но атлас делает не нравится issue with MONGODB Atlas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...