2012-07-24 13 views
9

मैं प्रारूप में एक CouchDB दृश्य एक सरणी कुंजी मान का उपयोग कर सेट किया है, के लिए क्वेरी सरणी कुंजी मूल्य:CouchDB - पहली प्रमुख तत्व केवल

[articleId, -timestamp] 

मैं एक ही लेख आईडी के साथ सभी प्रविष्टियों के लिए क्वेरी करना चाहते हैं । सभी टाइमस्टैम्प स्वीकार्य हैं।

अभी मैं इस तरह एक प्रश्न उपयोग कर रहा हूँ:

?startkey=["A697CA3027682D5JSSC",-9999999999999]&endkey=["A697CA3027682D5JSSC",0] 

लेकिन मैं थोड़ा सरल कुछ करना चाहते हैं।

क्या दूसरा मुख्य तत्व पूरी तरह वाइल्डकार्ड करने का कोई आसान तरीका है? इसके लिए सबसे सरल वाक्यविन्यास क्या होगा?

+6

मेरा मानना ​​है कि तुम सब करने की जरूरत है '? Startkey = [" A697CA3027682D5JSSC "] और endkey = [" A697CA3027682D5JSSC ", {}]' –

उत्तर

13

सबसे पहले, के रूप में एक टिप्पणी ने कहा, वास्तव में एक विशेष मूल्य {} है कि किसी भी मूल्य के बाद आदेश दिया जाता है, तो आपकी क्वेरी हो जाता है:

startkey=["target ID"]&endkey=["target ID",{}] 

यह एक वाइल्डकार्ड मैच के रूप में बराबर है।

एक साइड नोट के रूप में, नकारात्मक टाइमस्टैम्प उत्सर्जित करके मानचित्र फ़ंक्शन में ऑर्डरिंग को रिवर्स करने की कोई आवश्यकता नहीं है, आप दृश्य आमंत्रण के विकल्प के रूप में ऑर्डर को उलट सकते हैं (आपकी शुरुआत और अंत कुंजी को बदल दिया जाएगा)।

startkey=["target ID",{}]&endkey=["target ID"]&descending=true 
+0

बहुत बढ़िया। मैं इसके लिए पूरी खोज कर रहा था, लेकिन मुझे लगता है कि मेरी शब्दावली सटीक नहीं थी। बहुत बहुत धन्यवाद :) – Gopherkhan

+0

आपको यह कहां मिला? यह बहुत अच्छा काम करता है लेकिन मैं पिछले हफ्ते के लिए दस्तावेज तैयार कर रहा था और यह पहला स्थान है जिसे मैंने {} का उल्लेख किया है। – MBillau

+1

@MBillau यह बहुत लंबा रहा है, इसलिए मुझे अब याद नहीं है। मुझे लगता है कि '{} 'के वर्णानुक्रमिक क्रम के साथ इसका कुछ संबंध था। –