2011-03-30 28 views
5

मोंगोडीबी का उपयोग करके मैं उन घरों से पूछताछ कर रहा हूं जो लेट/लम्बे समय के 25 मील के भीतर हैं।बनाम बनाम

इस के पास आदेश है, इसलिए की तरह इस्तेमाल किया करने के लिए मेरा पहला प्रयास:

var near = Query.Near("Coordinates", coordinates.Latitude, coordinates.Longitude, find.GetRadiansAway(), false); 
var query = Collection().Find(near); 
var listings = query.ToList(); 

के पास के साथ इस मुद्दे है कि यह केवल 100 लिस्टिंग देता है, जबकि मैं निर्देशांक के 25 मील की दूरी के भीतर सभी लिस्टिंग लौटना चाहते है ।

मेरा अगला प्रयास के भीतर उपयोग करने के लिए किया गया था: 25 मील की दूरी है, जो महान है के भीतर

var within = Query.WithinCircle("Coordinates", coordinates.Latitude, coordinates.Longitude, find.GetRadiansAway(), false); 
var query = Collection().Find(within); 
var listings = query.ToList(); 

रिटर्न के भीतर सभी लिस्टिंग, लेकिन यह उन्हें कैसे पास वे केंद्र के लिए कर रहे हैं के आधार पर सॉर्ट नहीं है निर्देशांक करता है के पास की तरह ।

तो मेरा सवाल यह है कि, मैं दोनों दुनिया के सर्वश्रेष्ठ कैसे प्राप्त करूं? मैं 25 मील के भीतर सभी लिस्टिंग कैसे प्राप्त करूं और उन्हें केंद्र निर्देशांक के निकटता से क्रमबद्ध कर दूं?

उत्तर

11

भू-स्थानिक $near प्रश्न 100 परिणामों में से एक डिफ़ॉल्ट limit() सेट करें। आपको नया limit() सेट करके अधिक परिणाम प्राप्त करने में सक्षम होना चाहिए।

जबकि "पास" प्रश्न दूरी से क्रमबद्ध होते हैं, "भीतर" नहीं है (हालांकि "भीतर" में डिफ़ॉल्ट सीमा नहीं है)।

+1

मैं हमेशा खुश हूं जब किसी समस्या का समाधान कोड की 1 पंक्ति है। – Justin

संबंधित मुद्दे