2015-06-01 8 views
5

का उपयोग करके एकाधिक दस्तावेज़ों को पुनर्प्राप्त करना, क्या क्वेरी स्ट्रिंग के रूप में कुंजी उपसर्ग का उपयोग करके कई दस्तावेज़ पुनर्प्राप्त करना संभव है, और यह उन सभी महत्वपूर्ण मानों को लौटाता है जिनके साथ आपूर्ति की गई प्रमुख उपसर्ग (जैसे ऑपरेटर प्रकार) चीज़)? दृश्य या प्रश्न/सूचकांक का उपयोग किए बिना।कॉचबेस - कोचबेस डीबी में कुंजी उपसर्ग

मैं अपने कुंजी जिस तरह से यह इस प्रस्तुति के लिए स्लाइड 51 में दिखाया गया है डिजाइनिंग हूँ http://www.slideshare.net/Couchbase/couchbase-103-data-modeling

+1

जैसे कुछ कर सकते हैं क्या कोई कारण है कि आप इसके लिए कोई दृश्य उपयोग नहीं करना चाहते हैं? ध्यान रखें कि आपके पास दृश्य या क्वेरी हो सकती है जो आपको केवल वास्तविक आईडी बताती है जो आपको लाने की आवश्यकता होती है, और फिर आप सामान्य केवी एपीआई –

उत्तर

10

किसी दृश्य या n1ql क्वेरी का उपयोग नहीं करना चाहते हैं, तो जानने के बिना दस्तावेजों को पुनः प्राप्त करने का कोई तरीका नहीं है उनके सटीक कुंजी यही है, यदि आप पहले से क्लाइंट पक्ष पर संभावित कुंजी उत्पन्न करने का कोई तरीका रखते हैं, तो आप केवल अपनी उपसर्ग-आधारित कुंजी पुनर्प्राप्त कर सकते हैं, उदा। उपयोगकर्ता -1, उपयोगकर्ता -2 ... उपयोगकर्ता-एन।

हालांकि, आप किसी भी अतिरिक्त इंडेक्स के बिना n1ql में बात कर रहे उपसर्ग क्वेरी का प्रकार कर सकते हैं, क्योंकि n1ql के साथ आपके पास पहले से ही सभी दस्तावेज़ कुंजी पर प्राथमिक अनुक्रमणिका होगी। तो आप "SELECT META(myBucket).id FROM myBucket WHERE META(myBucket).id LIKE "prefix%";

+0

का उपयोग कर उन लोगों को लाएंगे, मैं एक अतिरिक्त N1QL के साथ ठीक हूं! यह बहुत उपयोगी चाल है :) धन्यवाद। मुझे लगता है कि मुझे मूल उपयोगकर्ता में बाल दस्तावेज़ों के संदर्भ सरणी के बजाय एक अतिरिक्त N1QL का उपयोग करना पसंद करना चाहिए: id {} ऑब्जेक्ट, जिसे प्रत्येक प्रविष्टि/बच्चे के हटाने पर अपडेट किया जाना आवश्यक है। तुम क्या सोचते हो? –

+1

यह आपकी प्रदर्शन आवश्यकताओं के आधार पर निर्भर करता है। बच्चे दस्तावेज़ों की आईडी प्राप्त करने के लिए एक संदर्भ दस्तावेज़ का उपयोग करना पुनर्प्राप्ति तेज कर देगा। हालांकि, अनिवार्य रूप से एक मैनुअल इंडेक्स जो बनाए रखना है, वह बहुत अधिक विकास कार्य होगा। मैं कहूंगा कि प्रदर्शन काफी अच्छा है, इस मामले में सबसे सरल दृष्टिकोण, यानी n1ql का उपयोग करें। –

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