javascript - Is it necessary to create all combination a separately view in CouchDB -


मेरे पास CouchDB संग्रहीत में निम्नलिखित दस्तावेज हैं:

  {"_id": "1 "," _rev ":" 1-e3ff3eb51ccf90e0446ef086fcc6a06c "," sub_name ":" A01 "," प्रकार ":" टेस्ट "," नाम ":" ए "," pos ": 828288} {" _id ":" 2 " "_rev": "1-e3ff3eb51ccf90e0446ef086fcc6a06c", "sub_name": "ए02", "टाइप": "टेस्ट", "नाम": "ए", "पॉज़": 828288} {"_id": "3" "_": "1-ef83655c51f64daa4c074fed9beb8234", "sub_name": "B01", "type": "test", "name": "b", "pos": 171878} {"_id": "4", " _rev ":" 1-ef83655c51f64daa4c074fed9beb8234 "," sub_name ":" B02 "," type ":" test "," name ":" b "," pos ": 171878} {" _id ":" 5 "," _rev ":" 1-52b91ba1577a11bf410999ceb2577206 "," sub_name ":" C01 "," type ":" test "," name ":" c "," pos ": 871963} {" _id ":" 6 "," _rev " : "7", "_rev": "1-52b91ba1577a11bf410999ceb2577206", "sub_name": "c02", "type": "test", "name": "c", "pos": 871963} {"_id" "1-807f46b501b237a6e0f2ba71ffd7f194", "उप-नाम": "डी 101", "प्रकार": "टेस्ट", "नाम ई ":" डी "," पॉज़ ": 1 9 32523} {" _id ":" 8 "," _rev ":" 1-807f46b501b237a6e0f2ba71ffd7f194 "," सब_नाम ":" डी02 "," टाइप ":" टेस्ट "," नाम "डी", "पॉज़": 1 9 32523}  

UPDATE मैं पृष्ठ पर चुनिंदा बक्से के माध्यम से विभिन्न दस्तावेज़ों को चुनने के लिए उपयोगकर्ता विकल्प देना चाहता हूं, जहां प्रकार , नाम और उप_नाम को चुना जा सकता है। हालांकि, मुझे एक क्वेरी को गतिशील रूप से ई करने के लिए कोई भी उदाहरण नहीं मिला। G इस तरह से:

  फ़ंक्शन (डॉक्टर, प्रकार, नाम, उप-नाम) {if (doc.type == प्रकार और amp; doc.name == नाम और amp; amp; doc.sub_name == उप-नाम) {emit (doc._id, doc.pos); }}  

क्या मुझे सभी डॉक्टर प्रकार, डॉक्टर और नाम के लिए बनाने के लिए डॉक। नाम और डॉस.sub_name संयोजन अलग से नीचे के समान दिखता है या ऐसा करने का बेहतर तरीका है? < / P>

  फ़ंक्शन (डॉक्टर) {if (doc.type == "टेस्ट" & amp; amp; doc.name == "ए" & amp; डॉक्टर.sub_name == "A01") { Emit (doc._id, doc.pos); }} फ़ंक्शन (डॉक्टर) {if (doc.type == "टेस्ट" & amp; amp; amp; & amp; डॉक्टर का नाम == "ए" & amp; amp; doc.sub_name == "A02") {emit (doc._id, doc .pos); }} फ़ंक्शन (डॉक) {if (doc.type == "टेस्ट" & amp; amp; doc.name == "B" & amp; amp; doc.sub_name == "B01") {emit (doc._id, doc .pos); }} ...   

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

आप क्या कर सकते हैं एक समग्र कुंजी का उत्सर्जन करते हैं:

  फ़ंक्शन (डॉक्टर) {emit ([doc.type , Doc.name, doc.sub_name], doc.pos); }  

आप कुंजी के रूप में एक सरणी को पास करके दृश्य को क्वेरी कर सकते हैं:

  /.../ my_view? Key = ["test" "बी", "बी 101"]  

Comments

Popular posts from this blog

c# - SignalR: "Protocol error: Unknown transport." when navigating to hub -

class - Kivy: how to instantiate a dynamic classes in python -

java - Algorithm negotiation fail SSH in Jenkins -