2011-08-26 15 views
5

मैं पेजिनेशन के लिए पिछली पृष्ठ कार्यक्षमता को लागू करने की कोशिश कर रहा हूं, और मैंने सोचा कि एंडकी पैरामीटर का उपयोग करने से पिछले पृष्ठ की पंक्तियां वापस आ जाएंगी जहां अंतिम पंक्ति एंडकी के बराबर होगी। लेकिन क्या स्टार्टकी के बिना केवल एंडकी पैरामीटर का उपयोग कर क्वेरी करना भी संभव है?एंडकी पैरामीटर के साथ CouchDB क्वेरी

उदाहरण के लिए:

http://something.com:5984/db3/_design/app/_view/a_view?limit=5&endkey=["ABC","6L","201112"]&descending=false

जब मैं इस क्वेरी चलाने के लिए, अंतिम पंक्ति के प्रमुख नहीं endkey मैं निर्दिष्ट के बराबर है। इसके बजाए, ऐसा लगता है कि कॉच डीबी सिर्फ दृश्य में पहली 5 पंक्तियों को पकड़ता है और पूरी तरह से एंडकी पैरामीटर को अनदेखा करता है।

उत्तर

5

endkey के साथ एक प्रश्न लेकिन startkey&startkey=null की तरह काम नहीं करेगा। यही है, कॉच डीबी पहली पंक्ति पर पहली कुंजी से शुरू होगी और जब तक यह एंडकी तक नहीं पहुंच जाती तब तक जारी रहेगी।

कॉच डीबी हमेशा अपनी स्टार्टकी से प्रतिक्रिया शुरू करता है, और limit या endkey मान (जो भी पहले आता है) से प्रतिक्रिया को रोकता है।

अंतिम 5 पंक्तियों को लाने के लिए, आपको पीछे की ओर (अवरोही) स्कैन करने की आवश्यकता है और फिर आपकी स्टार्टकी सही है जहां आपको इसकी आवश्यकता है।

?limit=5&startkey=["ABC","6L","201112"]&descending=true 

परिणाम उल्टा (अवरोही!) क्रम में होंगे। आप या तो उन्हें अपने ग्राहक में वापस कर सकते हैं (यह केवल पांच पंक्तियां हैं) या प्रतिक्रिया भेजने से पहले उन्हें रिवर्स करने के लिए CouchDB में _list फ़ंक्शन लिखें।

+0

ग्रेट। इसे साफ करने के लिए धन्यवाद। – Garrett

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