2011-02-11 5 views
7

मैं couchdb-python (http://code.google.com/p/couchdb-python/) काम कर रहा था और मैं सोच रहा था कि क्या मेरे पास दस्तावेज़ स्तर पर होने वाले संशोधनों की एक पूर्ण सूची पुनर्प्राप्त करने का कोई तरीका है?कॉच डीबी-पायथन का उपयोग कर दस्तावेज़ स्तर पर संशोधन की पूरी सूची प्राप्त करना?

मान लीजिए कि मेरे पास "फिल्में" नामक डेटाबेस है और इसमें कई दस्तावेज़ हैं। मेरे प्रत्येक दस्तावेज़ में 3 से अधिक संशोधन हैं।

क्या मैं संशोधन के आधार पर अपने दस्तावेज़ पुनर्प्राप्त कर सकता हूं?

यदि हां, तो कैसे? मुझे CouchDB-Python

उत्तर

7

मुझे couchdb-python के बारे में निश्चित नहीं है, हालांकि आप HTTP API के माध्यम से किसी दस्तावेज़ का संपूर्ण ज्ञात संशोधन इतिहास प्राप्त कर सकते हैं।

CouchDB Document API दस्तावेज़ीकरण में इसके बारे में सब कुछ जानें।

एक सामान्य क्वेरी:

$ curl jhs.couchone.com/db/doc 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de' } 

?revs=true जोड़े पुराने संशोधन की एक सरणी को देखने के लिए।

$ curl jhs.couchone.com/db/doc?revs=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revisions: 
    { start: 3, 
    ids: 
     [ '825cb35de44c433bfb2df415563a19de', 
     '7051cbe5c8faecd085a3fa619e6e6337', 
     '967a00dff5e02add41819138abb3284d' ] } } 

इसके अलावा आप इस तरह वे अभी भी उपलब्ध हैं, चाहे के रूप में संशोधन, के बारे में अधिक जानकारी के (अर्थात वे पिछले संघनन के बाद जोड़ा गया था और आप उन्हें प्राप्त कर सके) के लिए ?revs_info=true जोड़ सकते हैं।

$ curl jhs.couchone.com/db/doc?revs_info=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revs_info: 
    [ { rev: '3-825cb35de44c433bfb2df415563a19de', 
     status: 'available' }, 
    { rev: '2-7051cbe5c8faecd085a3fa619e6e6337', 
     status: 'available' }, 
    { rev: '1-967a00dff5e02add41819138abb3284d', 
     status: 'available' } ] } 
+0

हैलो, आपके उत्तर के लिए धन्यवाद। क्या मैं संशोधन इतिहास के आधार पर दस्तावेज़ पुनर्प्राप्त कर सकता हूं? उदाहरण के लिए, आईडी के साथ दस्तावेज़: 132, संशोधन 3? – DjangoRocks

+0

अंतिम विधि का उपयोग करके मैंने '? Revs_info = true' दिखाया, आप * देख सकते हैं कि आप कौन से संशोधन पुनर्प्राप्त कर सकते हैं। वे 'स्थिति: 'उपलब्ध' दिखाएंगे। हालांकि, कॉच डीबी हमेशा कंपैक्टिंग कर रहा है, इसलिए आप यह नहीं मान सकते कि आपका डेटा वहां होगा। – JasonSmith