2013-07-01 5 views
5

я получил неожиданный результат при использовании $geoWithin,Как использовать geowithin в mongodb?

Я это:

perim = 10 
center = [35.964734, 5.03952] 

если я бегу:

list(db.users.find({"adr.cor":{"$geoWithin":{"$center":[center, perim]}}})) 

я получаю результат, который содержит дополнительные координаты, например: [36.743954, 4.365041] который дальше! (не менее 400 км) Что я делаю плохо?

ответ

5

При использовании $ center: [долгота, широта], радиус, радиус измеряется в радианах, поэтому вам нужно будет преобразовать 10 радиан в км.

+0

так вот почему, когда я ставлю небольшое значение, я получаю точные результаты^ –

+0

извините, но радианы для углов, а пользователи будут дистанцироваться? –

+2

Hi Abdelouahab - вы можете преобразовать, используя: Radians * radius = длина дуги. http://www.regentsprep.org/Regents/math/algtrig/ATM1/arclengthlesson.htm – Kay

Смежные вопросы