2013-07-01 12 views
5

ben beklenmeyen bir sonuç aldık

Birkaç gün önce:

perim = 10 
center = [35.964734, 5.03952] 

i çalıştırırsanız:

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

Ben mesela başka koordinatlarını içeren bir sonuç almak: [36.743954, 4.365041] Daha fazlası! (en az 400km) Ne kötü yapıyorum?

cevap

5

$ center kullanırken: [boylam, enlem], radius, radius radyan cinsinden ölçülür, böylece 10 radyanı km olarak çevirmeniz gerekir.

+0

bu yüzden küçük bir değer koyduğumda doğru sonuçlar alıyorum^ –

+0

Üzgünüm, ama radyanlar açı içindeydi ve kullanıcılar mesafe koyacaklar mı? –

+2

Merhaba Abdelouahab - kullanarak dönüştürebilirsiniz: Radians * radius = ark uzunluğu. http://www.regentsprep.org/Regents/math/algtrig/ATM1/arclengthlesson.htm – Kay

İlgili konular