फ्लास्क को PostgreSQL और SQLite जैसे SQL डेटाबेस से जोड़ना एक चिंच है। लेकिन ढांचा पूरी तरह से नोएसक्यूएल डेटाबेस जैसे कॉच डीबी के साथ भी समन्वयित करता है। और एक अतिरिक्त लाभ के रूप में, जब आप फ्लास्क के साथ कॉच डीबी का उपयोग करते हैं तो आप अपने डेटा को आसानी से पूछ सकते हैं।

अपने फ्लास्क ऐप के साथ कॉच डीबी जैसे नोएसक्यूएल का उपयोग करके बदलाव करने के लिए तैयार हैं? यहां बताया गया है कि कॉच डीबी को अपनी स्थानीय मशीन पर कैसे सेट करें और इसे फ्लास्क से कैसे कनेक्ट करें।

कॉच डीबी क्या है?

CouchDB एक NoSQL डेटाबेस है जो वर्तमान में Apache Software Foundation के स्वामित्व में है। एरलांग के साथ लिखित, सॉफ्टवेयर पहली बार 2005 में जारी किया गया था।

नियमित टेबल-लिंक्ड डेटाबेस के विपरीत, जिसका आप सबसे अधिक उपयोग कर रहे हैं, कॉच डीबी एक गैर-संबंधपरक डेटाबेस प्रबंधन प्रणाली है जो डेटा को कच्चे JSON के रूप में संग्रहीत करती है।

CouchDB गैर-अवरुद्ध है, इसलिए यह डेटा इनपुट के दौरान डेटाबेस को लॉक नहीं करता है। कॉच डीबी के मजबूत बिंदुओं में से एक यह है कि यह डेटा को पढ़ने और लिखने के लिए एक बहु-संस्करण समवर्ती नियंत्रण नीति का उपयोग करता है। तो यह डेटाबेस में डेटा की मौजूदा संरचना से हस्तक्षेप किए बिना एकाधिक उपयोगकर्ताओं से एक साथ इनपुट की अनुमति देता है।

इस प्रकार, कॉच डीबी प्रश्नों के दौरान तेज है और एसिंक्रोनस विधियों का उपयोग करते समय काम करना आसान है। उस ने कहा, यह इसे अपने SQL समकक्ष से बेहतर नहीं बनाता है। प्रत्येक तकनीक के अपने पेशेवरों और विपक्ष हैं।

काउचडीबी सेट अप

कॉच डीबी का उपयोग शुरू करने के लिए, से एक संगत संस्करण डाउनलोड और इंस्टॉल करें कॉच डीबी की आधिकारिक वेबसाइट.

और अगर वह नवीनतम संस्करण आपके लिए काम नहीं करता है, तो आगे बढ़ें काउचडीबी संग्रह और संस्करण 1.6.1 डाउनलोड करें, जो कि कॉच डीबी का पुराना संस्करण है।

एक बार जब आप कॉच डीबी स्थापित कर लेते हैं, तो इसे अपने पीसी पर चलाएं जैसे आप किसी अन्य डेस्कटॉप ऐप पर चलेंगे।

अपना ब्राउज़र खोलें। फिर निम्नलिखित को अपने एड्रेस बार में चिपकाकर कॉच डीबी के सर्वर को लॉन्च करें:

http://localhost: 5984/_utils/index.html

पायथन और फ्लास्क सेट करें

हालाँकि, यह ट्यूटोरियल मानता है कि आपके पीसी पर पहले से ही पायथन स्थापित है। अन्यथा, पर जाएँ python.org और अपने पीसी पर पायथन का नवीनतम संस्करण स्थापित करें।

एक बार जब आप कॉच डीबी सेट कर लेते हैं, तो प्रोजेक्ट रूट फ़ोल्डर बनाएं। फिर अपनी कमांड लाइन को उस डायरेक्टरी में खोलें और a. बनाएं पायथन आभासी वातावरण.

वर्चुअल स्पेस में फ्लास्क का नवीनतम संस्करण स्थापित करें रंज:

पाइप स्थापित फ्लास्क

कुप्पी को काउचडीबी से कनेक्ट करें

अपने फ्लास्क ऐप के साथ कॉच डीबी का उपयोग शुरू करने के लिए, इंस्टॉल करें कुप्पी-काउचडीबी, डेटाबेस को फ्लास्क से जोड़ने के लिए रनटाइम पैकेज।

यह करने के लिए:

पाइप स्थापित फ्लास्क-काउच डीबी

एक बार जब आप स्थापित करें कुप्पी-काउचडीबी सफलतापूर्वक, एक बनाएं app.py उस रूट फ़ोल्डर में फ़ाइल। इसी तरह, बनाएं a डेटाबेस.py फ़ाइल—यह आपके डेटाबेस निर्माण को संभालता है।

खोलना डेटाबेस.py और निम्नलिखित पैकेज आयात करें:

काउचडब आयात सर्वर से

इसके बाद, कोड के निम्नलिखित ब्लॉक का उपयोग करके उसी फ़ाइल में अपना डेटाबेस बनाएं:

काउचडब आयात सर्वर से
सर्वर = सर्वर ()
डीबी = सर्वर। बनाएं ('म्यूकोच')

निष्पादित करना डेटाबेस.py सीएलआई के माध्यम से फिर अपने ब्राउज़र के माध्यम से कॉच डीबी के स्थानीय सर्वर को खोलें या रीफ्रेश करें जैसा आपने पहले किया था। अब आपको डेटाबेस देखना चाहिए (म्यूओकाउच इस मामले में) कॉच डीबी में सूचीबद्ध है।

संबंधित:पायथन स्क्रिप्ट कैसे चलाएं

ध्यान दें: सुनिश्चित करें कि आप डेटाबेस के लिए लोअर-केस नामकरण परंपरा का उपयोग करते हैं, क्योंकि कॉच डीबी ऊपरी या मिश्रित मामलों को स्वीकार नहीं कर सकता है।

फ्लास्क का उपयोग करके अपना पहला कॉच डीबी डेटा स्टोर करें

अंततः, किसी भी डेटाबेस का उद्देश्य डेटा संग्रहण है। एक बार जब आपके पास कॉच डीबी में डेटाबेस हो, तो आप तुरंत अपने फ्लास्क ऐप से डेटा स्टोर करना शुरू कर सकते हैं।

शुरू करने के लिए, खोलें app.py और निम्नलिखित पैकेज आयात करें:

फ्लास्क आयात फ्लास्क से
काउचडब आयात सर्वर से
Flaskext.couchdb आयात दस्तावेज़ से

इसके बाद, फ्लास्क ऐप और कॉच डीबी सर्वर इंस्टेंस बनाएं:

ऐप = फ्लास्क (__name__, static_url_path='/static')
ऐप.डीबग=सच
सर्वर = सर्वर ()

अब कुछ उपयोगकर्ता इनपुट को CouchDB में संग्रहीत करते हैं:

@ app.route ('/', तरीके = ['प्राप्त करें', 'पोस्ट'])
डीईएफ़ रजिस्टर ():
उपयोगकर्ता = {
"उपयोगकर्ता नाम": "मीडिया साइट",
"ईमेल": "[email protected]",
"पासवर्ड": "एन्क्रिप्टेड डेटा"
}
डीबी = सर्वर ['म्यूकोच'] # डेटाबेस का चयन करें
doc_id, doc_rev = db.save (उपयोगकर्ता) # अपने डेटा को वें डेटाबेस में संग्रहीत करें
वापसी "

आपका डेटा अब डेटाबेस में होना चाहिए

"

यदि आप चाहें, तो आप अपने फ्लास्क सर्वर को चलाने से पहले उसे विकास मोड में सेट कर सकते हैं।

ऐसा करने के लिए, अपने सीएलआई के माध्यम से निम्न आदेश चलाएँ:

FLASK_ENV=विकास सेट करें

ध्यान दें कि सर्वर मोड सेट करना वैकल्पिक है। यह केवल आपके कोड को डिबगिंग को परेशानी मुक्त बनाता है।

लेकिन सर्वर मोड सेटिंग की परवाह किए बिना, सीएमडी के माध्यम से फ्लास्क सर्वर को शुरू करने का तरीका यहां दिया गया है:

फ्लास्क रन

फ्लास्क, हालांकि, आपके पोर्ट को डिफॉल्ट करता है लोकलहोस्ट: 5000. अब आपको संदेश में देखना चाहिए एच 2 अपने ब्राउज़र के माध्यम से इस पते को लोड करने के बाद टैग करें।

CouchDB क्वेरीज़ का उपयोग करके डेटा सत्यापित करें और डुप्लिकेट जांचें

इसे और मानकीकृत करने के लिए, आप इनपुट को मान्य करने और अपने डेटाबेस में डुप्लिकेट को रोकने के लिए प्रश्नों का उपयोग कर सकते हैं। CouchDB को क्वेरी करना SQL डेटाबेस के साथ ऐसा करने के तरीके से थोड़ा अलग है।

CouchDB डेटाबेस से डेटा क्वेरी करने के लिए "जावास्क्रिप्ट दृश्य" का उपयोग करता है। सौभाग्य से, यह अपेक्षाकृत सरल है।

इससे पहले कि आप आगे बढ़ें, यहां बताया गया है कि एक बुनियादी CouchDB क्वेरी दृश्य कैसा दिखता है:

map_func = फ़ंक्शन (डॉक्टर) 
{उत्सर्जन (doc.doc_rev, doc); }
myQuery = [docType].query (db, map_func, reduce_fun=कोई नहीं)

अब उपरोक्त कोड का व्यावहारिक रूप से उपयोग करते हैं:

# "डॉक्यूमेंट ऑब्जेक्ट मॉडल बनाएं"उपयोगकर्ताओं:"
वर्ग उपयोगकर्ता (दस्तावेज़):
doc_type = 'उपयोगकर्ता'
@ app.route ('/', तरीके = ['प्राप्त करें', 'पोस्ट'])
डीईएफ़ रजिस्टर ():
उपयोगकर्ता = {
"उपयोगकर्ता नाम": "मीडिया साइट",
"ईमेल": "[email protected]",
"पासवर्ड": "एन्क्रिप्टेड डेटा"
}
डीबी = सर्वर ['म्यूकोच'] # डेटाबेस का चयन करें
# CouchDB से अपना डेटा प्राप्त करने के लिए व्यू फ़ंक्शन का उपयोग करें
map_func = फ़ंक्शन (डॉक्टर)
{उत्सर्जन (doc.doc_rev, doc); }
# क्वेरी सेट चलाकर सभी डेटा प्राप्त करें
myQuery = User.query (डीबी, मैप_फंक, कम_फुन = कोई नहीं, रिवर्स = ट्रू)
q = [i['username'] for i in myQuery] # डेटाबेस से सभी यूजरनेम को लूप आउट करें
q2 = [i['email'] for i in myQuery] # डेटाबेस से सभी ईमेल पतों को लूप आउट करें
q3 = q+q2 # दोनों प्रश्नों को एक सूची में मिलाएं
प्रिंट (क्यू 3)
वापसी "

आपका डेटा अब डेटाबेस में है

"

उपरोक्त कोड का उपयोग करता है उपयोगकर्ता क्लास व्यू फ़ंक्शन द्वारा प्राप्त डेटा को क्वेरी करने के लिए। क्वेरी सेट में पैरामीटर पर पूरा ध्यान दें (myQuery).

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

तो यहां बताया गया है कि आप उपयोगकर्ताओं के इनपुट को मान्य करने के लिए इस क्वेरी का उपयोग कैसे कर सकते हैं:

यदि नहीं (उपयोगकर्ता ['उपयोगकर्ता नाम'] q3 में या उपयोगकर्ता ['ईमेल'] q3 में):
# अपने डेटा को डेटाबेस में स्टोर करें यदि यह मौजूद नहीं है
doc_id, doc_rev = db.save (उपयोगकर्ता)
वापसी "

सफलतापूर्वक पंजीकृत

"
अन्य:
वापसी "

उपयोगकर्ता नाम या ईमेल मौजूद है

"

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

संबंधित:यदि कथन है तो पायथन का उपयोग कैसे करें

बस! आपने अभी फ्लास्क-काउच डीबी का उपयोग करके अपना पहला नोएसक्यूएल डेटाबेस बनाया है।

हालाँकि कॉच डीबी में डेटाबेस बनाना और क्वेरी करना उन उदाहरणों के इर्द-गिर्द घूमता है, जिन पर हमने प्रकाश डाला है, आप फ्लास्क की कार्यक्षमता को और अधिक खोज सकते हैं। उदाहरण के लिए, आप इनपुट फ़ील्ड का उपयोग करके स्पिन कर सकते हैं wtforms और फ्लास्क के संदेश का उपयोग करके डुप्लीकेट ध्वजांकित करें Chamak.

आप इनपुट को मान्य करने के लिए अपनी क्वेरी को जावास्क्रिप्ट के jQuery पर भी पास कर सकते हैं और डुप्लिकेट को अतुल्यकालिक रूप से जांच सकते हैं।

क्या CouchDB SQL डेटाबेस से बेहतर है?

फ्लास्क या किसी अन्य प्रोग्रामिंग तकनीक के साथ कॉच डीबी या किसी अन्य नोएसक्यूएल डेटाबेस का उपयोग करना आपकी पसंद पर निर्भर करता है। लेकिन यह स्ट्रक्चरलेस डेटा और रॉ मीडिया के साथ काम करते समय काम आता है।

उस ने कहा, निर्णय लेने से पहले, आप यह तय करने में सहायता के लिए नोएसक्यूएल और एसक्यूएल डेटाबेस के बीच मतभेदों को देखना चाहेंगे कि उनमें से कौन आपकी परियोजना के लिए उपयुक्त है।

साझा करनाकलरवईमेल
एसक्यूएल बनाम। NoSQL: आपके अगले प्रोजेक्ट के लिए सबसे अच्छा डेटाबेस क्या है?

डेटाबेस प्रकार चुनना मुश्किल हो सकता है। क्या आपको SQL या NoSQL चुनना चाहिए?

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • डेटाबेस
  • प्रोग्रामिंग
  • कोडिंग ट्यूटोरियल
लेखक के बारे में
इडोवु ओमिसोला (94 लेख प्रकाशित)

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

Idowu Omisola. की और फ़िल्में या टीवी शो

हमारे समाचार पत्र के सदस्य बनें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें