Таким образом, я полностью понимаю, как искать точки или местоположение в 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}}
Но атлас делает не нравится