मेरे पास स्थान प्रोपरी पर भू-स्थानिक इंडेक्स के साथ स्टोर का संग्रह है।मोंगोडीबी बाउंड क्वेरीज़: मैं मील को रेडियन में कैसे परिवर्तित करूं?
जो मैं करने की कोशिश कर रहा हूं उसे उपयोगकर्ता के अक्षांश, अक्षांश और एक खोज त्रिज्या (मील) दिया गया है, मैं उन पैरामीटर के भीतर मौजूद स्टोर की सूची वापस करना चाहता हूं।
मैंने निम्नलिखित उदाहरण को मोंगोडीबी दस्तावेज (http://www.mongodb.org/display/DOCS/Geospatial+Indexing) पर देखा, लेकिन ऐसा लगता है कि दूरी रेडियंस में है।
center = [50, 50]
radius = 10
db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}})
तो मील से रेडियंस को परिवर्तित करने के लिए सूत्र क्या है?
समाधान mongodb-user पर भयानक लोगों ने मुझे जवाब खोजने में मदद की। असल में, जो मैं वास्तव में खोज रहा था वह दूरी को सीमित करने का एक तरीका था।
के अनुसार, अद्यतन प्रलेखन, वहाँ क्वेरी के पास $ करने के लिए एक 3 पैरामीटर है: तुम भी एक अधिकतम दूरी
db.places.find({ loc : { $near : [50,50] , $maxDistance : 5 } }).limit(20)
$ maxDistance के लिए मूल्य रेडियन में है के साथ निकट $ उपयोग कर सकते हैं; इसलिए, मुझे अपनी दूरी मील में लेना पड़ा और इसे 69 तक विभाजित करना पड़ा।
धन्यवाद!
मैं mongdb-उपयोगकर्ता Google समूह पर अपने प्रश्न पोस्ट करने के आधार पर अपना जवाब खोजने के लिए सक्षम था (http://groups.google.com/group/mongodb-user/browse_thread/धागा/d37c781bbfff5f08)। – Abe
नोट: 6 9 तक विभाजित करना मील से * डिग्री * तक रेडियंस नहीं है। डिग्री यहां सही हैं क्योंकि यह एक सादा ओल ''$ के पास' क्वेरी है (जिसका अर्थ है 'अधिकतम $ अधिकतम समन्वय समान इकाइयों में होना चाहिए), एक गोलाकार क्वेरी नहीं है (जो * * अधिकतम $ अधिकतम वितरण की आवश्यकता होती है) रेडियंस में रहें)। –