2010-12-11 6 views
13

मैं CouchDB जानने की कोशिश कर रहा हूँ और मैं फ्यूटन में देखा गया और इस तरह बना सकते हैं, लेकिन मैं डेस्कटॉप पर मेरी डिजाइन दस्तावेजों लिखने के लिए और cURL का उपयोग कर उन्हें अपलोड करना चाहते हैं। 'परिभाषित मार्गदर्शिका' curl के साथ सामग्री दस्तावेज़ अपडेट करने से पता चलता है लेकिन सभी डिज़ाइन दस्तावेज़ या तो फ़्यूटन या कॉच ऐप हैं।मैं कैसे cURL का उपयोग कर CouchDB के लिए एक डिजाइन दस्तावेज़ अपलोड करते हैं?

मैं एक स्थानीय फाइल करने के लिए वर्तमान डिज़ाइन दस्तावेज़ डाउनलोड, फ़ाइल को संपादित, तो CouchDB करने के लिए इसे वापस भेजने के लिए चाहते हैं।

cURL डाउनलोड करने और CouchDB डिजाइन दस्तावेजों को अपलोड करने की आज्ञा देता है क्या हैं?

उत्तर

19

डेटाबेस "देव-कार्य" में दाखिल करने के लिए "task.json" डिजाइन फ़ाइल "काम" डाउनलोड करें:

curl http://localhost:5984/dev-task/_design/task > task.json 

एक बार फ़ाइल संपादित किया जाता है, आप इसे वापस डाल सकते हैं।

curl -X PUT http://localhost:5984/dev-task/_design/task -d @task.json 

यह काम करता है क्योंकि task.json में एक उचित संशोधन संख्या है। अगर आप फ़ाइल को फिर से बदलना चाहते हैं, तो आपको नवीनतम संशोधन संख्या प्राप्त करने के लिए पहले इसे फिर से डाउनलोड करना होगा।

6

के उत्तर के बावजूद विक्टर निकोललेट सच है, ज्यादातर सीएचआई उपकरण जैसे सीचएप पर नजर डालने की सलाह दी जाती है। - आसान शुरुआत और बहुत प्रभावी। इसके अलावा इन उपकरणों को पहले से ही बहुत समय पहले परिपक्वता के लिए आया था की है, स्थिर रहे हैं, और लगातार योगदानकर्ताओं के समुदाय द्वारा संचालित सुधार कर रहे हैं।

क्यों?

  1. डिजाइन दस्तावेज़ एक JSON वस्तुओं है, और इन scufold वे अपने संपादक पर ओवरलोड के लिए जाना जाता है। उदाहरण के लिए - कोई टिप्पणी नहीं, मुख्य स्ट्रिंग समेत प्रत्येक स्ट्रिंग को तारों में लपेटा जाना चाहिए, और बहुत आगे।
  2. JSON दस्तावेज़ कार्य शामिल करने के लिए डिज़ाइन नहीं कर रहे हैं। सोफे-डीबी समाधान को कार्यों को स्ट्रिंग करने की आवश्यकता होती है - जो उन्हें संपादित करना मुश्किल बनाता है। एक संपादक एक व्यावहारिक स्वरूप में समारोह कन्वर्ट, इसे संपादित, और इसे फिर stringify करने की आवश्यकता होगी।
  3. CouchDB की आवश्यकता है कि udpated दस्तावेज़ संस्करण के साथ मौजूदा एक के अनुरूप होगा (और आप अगले verision regturns जब अद्यतन सफल होता है)। इस संस्करण ट्रैक और उन्हें हर बार वह एक अद्यतन लागू करना चाहता है उपयोग करने के लिए संपादक की आवश्यकता है।
  4. संलग्नक - जो उदाहरण के लिए कर रहे हैं, नक्शा काम करता है, या अक्सर अनुप्रयोगों कि सीधे CouchDB के वेब सर्वर से सेवा कर रहे हैं के लिए इस्तेमाल किया के बीच कोड पुनः उपयोग के लिए प्राथमिक -, क्योंकि हर लगाव आमतौर पर अलग में अपलोड की गई है का प्रबंधन करने के लिए कड़ी मेहनत कर रहे हैं, या के साथ यहां तक ​​कि अधिक scufold। इन समस्याओं के

समाधान CLI उपयोगिताओं कि सामान्य JavaScript फ़ाइलों पर संपादक काम है जो वह तो कोड उसी तरह वह करने के लिए प्रयोग किया जाता है फ़ाइलों की तरह एक एससीएम करने के लिए जाँच कर सकते हैं अनुमति देते हैं, और आदेश पर CLI उपकरण परिवर्तित है उसके लिए एक मान्य JSON करने के लिए उन्हें, और लक्ष्य CouchDB करने के लिए यह एक साथ अपलोड किए गए सभी संलग्नक आप, अद्यतन करने की आवश्यकता है, तो किसी भी जो भी साथ।

इस तरह के समाधान - होगा:

  • CouchApp यह 2 जायके (अजगर और NodeJS)
  • Kanzo (उस तथ्य भी बहुत कुछ में है, और किसी के लिए नहीं है, लेकिन सबसे निश्चित रूप से उल्लेख Worths)
  • है में

मैं व्यक्तिगत रूप से couchapp over NodeJS का उपयोग करता हूं। मज़े :)

अद्यतन, ~ 2 साल बाद

यहाँ हालांकि मैं मैं इसके बारे में bios हूँ कहना होगा उल्लेख के लायक है कि, एक और उपकरण है। इसे ddocs कहा जाता है। यह node-couchapp के समान प्रिंसिपल पर आधारित है, और यह लगातार एकीकरण प्रवाह के साथ-साथ व्यक्तिगत विकास के लिए निर्देशित है। यह ddocs के तैनाती के बारे में जानकारी रखने के लिए package.json में निर्दिष्ट अनुभाग का उपयोग करता है, और डेवलपर/बिल्ड-सर्वर को सीएलआई तर्कों का उपयोग करके किसी भी कॉन्फ़िगरेशन को ओवरराइड करने की इजाजत देता है।

+0

महान उत्तर, लेकिन आपने हमें "kanzo अधिक _____" के साथ लटका दिया - और भी क्या ?! – Armand

+0

एक डीडीओसी अपलोड करने के लिए एक साधारण उपकरण से कहीं अधिक है - ठीक है, यह लगभग एक प्रतिमान है। लेकिन यह सब इस सवाल के दायरे से बाहर है, इसलिए मूल रूप से - यह कम से कम एक नज़र डालने का निमंत्रण है :) –

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