MongoDB एक ओपन-सोर्स NoSQL डेटाबेस है, जिसका अर्थ है कि, रिलेशनल डेटाबेस के विपरीत, यह टेबल फॉर्मेट में इनपुट वैल्यू को स्वीकार नहीं करता है। डेटा संग्रह और दस्तावेजों में संग्रहीत किया जाता है क्योंकि MongoDB एक दस्तावेज़-उन्मुख डेटाबेस है। SQL तालिका में पंक्तियों को MongoDB में दस्तावेज़ों से बदल दिया गया है।
यह आलेख मानता है कि आपने अपने कंप्यूटर पर पहले से ही MongoDB सर्वर स्थापित किया है और सर्वर से एक शेल कनेक्ट किया है। यदि आपने पहले ही ऐसा कर लिया है, तो हम MongoDB की कुछ विशेषताओं का पता लगा सकते हैं, लेकिन पहले, कुछ शब्दावली:यदि नहीं, तो आप Ubuntu पर MongoDB कैसे स्थापित करें, इस पर लेख देख सकते हैं।
- डेटाबेस – यह एक भौतिक कंटेनर है जिसमें संग्रह का एक सेट होता है। इसमें शून्य या अधिक संग्रह हो सकते हैं। एक सर्वर इंस्टेंस में कितने डेटाबेस होस्ट किए जा सकते हैं, इसकी कोई सीमा नहीं है, क्योंकि यह कई डेटाबेस को होस्ट कर सकता है। इसकी एकमात्र सीमा वर्चुअल मेमोरी एड्रेस स्पेस है जिसे अंतर्निहित ऑपरेटिंग सिस्टम आवंटित कर सकता है।
- संग्रह – संबंधपरक डेटाबेस सिस्टम में "टेबल" के समान MongoDB दस्तावेज़ों का एक सेट। एक संग्रह में समान या संबंधित उद्देश्यों के दस्तावेज होते हैं। संग्रह स्कीमा-रहित होते हैं, जिसका अर्थ है कि एक ही संग्रह के दस्तावेज़ों में अलग-अलग फ़ील्ड हो सकते हैं।
- दस्तावेज़ – यह MongoDB में डेटा संग्रहीत करने की मूल इकाई है। वे पारंपरिक रिलेशनल डेटाबेस सिस्टम में ROW के अनुरूप हैं। दस्तावेज़ों को कुंजी-मूल्य जोड़े के सेट का आदेश दिया जाता है, जिसका अर्थ है कि प्रत्येक कुंजी के लिए एक संबद्ध मान होता है। उन्हें अक्सर "वस्तुओं" के रूप में जाना जाता है। वे JSON- जैसे (कुंजी-मूल्य-जोड़े) प्रारूप में दर्शाए जाते हैं। डेटा को जेएसओएन-जैसे डेटा के बाइनरी प्रतिनिधित्व में संग्रहीत और पूछताछ की जाती है जिसे बीएसओएन कहा जाता है। इस प्रारूप का एक उदाहरण नीचे दिखाया गया है:
{
Student_enroll: “foss123”,
grade: ‘B’
}
- फ़ील्ड – यह संबंधपरक डेटाबेस में कॉलम के बराबर है। इसे की-वैल्यू पेयर में इसके मूल्य के साथ जोड़कर संग्रहित किया जाता है। संग्रह में दस्तावेज़ों में शून्य या अधिक फ़ील्ड हो सकते हैं।
- _id – यह प्रत्येक MongoDB दस्तावेज़ में एक अनिवार्य फ़ील्ड है। यदि कोई उपयोगकर्ता _id फ़ील्ड के बिना दस्तावेज़ बनाता है, तो MongoDB स्वचालित रूप से फ़ील्ड बनाता है। _IDs का उपयोग किसी संग्रह में अद्वितीय दस्तावेज़ों का प्रतिनिधित्व करने के लिए किया जाता है। वे दस्तावेज़ की प्राथमिक कुंजी के रूप में काम करते हैं।
एक MongoDB डेटाबेस बनाना
जब आप किसी डेटाबेस का उपयोग करने का प्रयास करते हैं तो MongoDB में डेटाबेस निर्माण परोक्ष रूप से होता है। डेटाबेस बनाने के लिए, मोंगो शेल में निम्नलिखित टाइप करें;
> use fossDB
आउटपुट:


नोट: मोंगो शेल खोलने के लिए, नीचे कमांड चलाएँ:
mongo
MongoDB पहले यह पुष्टि करने के लिए जाँच करेगा कि क्या fossDB नाम का डेटाबेस मौजूद है। यदि नहीं, तो यह उपयोग करने के लिए एक नया बना देगा। मोंगो शेल फिर फॉसडीबी में बदल जाता है। इसका अर्थ यह है कि जब तक अन्यथा निर्दिष्ट न किया गया हो, प्रत्येक संग्रह और दस्तावेज़ बनाया, अद्यतन या पढ़ा गया इस डेटाबेस से होगा।
अभी आप किस डेटाबेस में हैं प्रिंट करने के लिए, आप > db . कमांड का उपयोग करते हैं . उपलब्ध और बनाए गए सभी डेटाबेस को सूचीबद्ध करने के लिए, आप >दिखाएं . कमांड का उपयोग करते हैं . उपयोग में इन आदेशों का एक उदाहरण नीचे दिखाया गया है;
>db
fossDB
>show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mydb 0.000GB
आउटपुट:


नोट: व्यवस्थापक के साथ हस्तक्षेप न करें और डेटाबेस को कॉन्फ़िगर करें क्योंकि Mongo उनका उपयोग प्रशासनिक उद्देश्यों के लिए करता है।
एक MongoDB संग्रह बनाना
संग्रह बनाने के लिए, सबसे पहले, सुनिश्चित करें कि आप सही डेटाबेस में हैं जिसमें आप संग्रह बनाना चाहते हैं। संग्रह बनाने के दो तरीके हैं:
<एच3>1. स्पष्ट रूप से संग्रह बनानानीचे दिए गए कमांड का प्रयोग करें:
>db.createCollection("Collection1");
{"ok":1}
आउटपुट:


यह आदेश तब Collection1 नाम का एक संग्रह बनाएगा
<एच3>2. दस्तावेज़ को नए संग्रह में सम्मिलित करनाआप किसी गैर-मौजूदा संग्रह में दस्तावेज़ डालने का त्वरित प्रयास कर सकते हैं। यह Mongo को आपके लिए एक नया संग्रह बनाने के लिए प्रेरित करेगा। ध्यान दें कि प्रोग्रामेटिक रूप से संग्रह बनाने के मामले में यह सुविधाजनक है, यदि आप मोंगो शेल का उपयोग कर रहे हैं और दस्तावेज़ डालते समय कहीं टाइपो बनाते हैं, तो दस्तावेज़ एक नए डेटाबेस में समाप्त हो सकता है जो आपके लिए अनजान है।
नया संग्रह बनाने का सिंटैक्स है;
db.collection_name.insert(document);
FossDB डेटाबेस में संग्रह Collection2 बनाने के लिए, निम्न कमांड का उपयोग करें:
> db.Collection2.insert({name: "Alex",key: "value",age: 20});
आउटपुट:


इस उदाहरण में, दस्तावेज़ भाग को निम्नलिखित JSON स्ट्रिंग द्वारा दर्शाया गया है:
{
name: "Alex",
key: "value"
age: 20
}
ये JSON स्ट्रिंग के विशिष्ट कुंजी-मूल्य जोड़े हैं। "नाम" कुंजी है, और "एलेक्स" मूल्य है। इस संग्रह में एक उपयोगकर्ता के पास कुंजी नाम और एक अलग मान के साथ कई दस्तावेज़ हो सकते हैं, जैसे मैक्स।
डेटाबेस के अंदर सभी संग्रहों को सूचीबद्ध करने के लिए नीचे दिए गए आदेश का उपयोग करें:
> show collections
Collection1
Collection2
आउटपुट:


आउटपुट से, आप देखेंगे कि दोनों संग्रह बनाए गए हैं। आपको विश्वास है कि आप संग्रह में एक नया दस्तावेज़ जोड़ सकते हैं।
संग्रह दिखाया जा रहा है
यदि आपने ध्यान नहीं दिया है, तो हम अन्य कमांड पर चर्चा करते हुए शो कीवर्ड का काफी उपयोग कर रहे हैं। इस पर संक्षेप में, संग्रह और डेटाबेस दिखाने के लिए कमांड हैं:
>show collections
>show dbs
आउटपुट:


db, . कमांड के संयोजन में इन आदेशों का उपयोग वर्तमान डेटाबेस को प्रिंट करने के लिए किया जाता है और मोंगो शेल के साथ इंटरैक्ट करते समय बहुत आसान होते हैं।
MongoDB संग्रह और डेटाबेस छोड़ना
ड्रॉप कमांड एक कीवर्ड है जिसे हमने इस लेख में नहीं छुआ है। यह एक कमांड है जिसका उपयोग उपयोगकर्ता के मोंगो सर्वर से संग्रह या संपूर्ण डेटाबेस को हटाने के लिए किया जाता है। छोड़ने के लिए, निम्न सिंटैक्स आपको प्रक्रिया में ले जाएगा।
<एच3>1. संग्रह गिरनाहम पहले बनाए गए संग्रह "संग्रह 2" को समाप्त कर देंगे। यह नीचे दिए गए कमांड का उपयोग करके किया जाता है:
>db.Collection2.drop()
आउटपुट:


यह सत्यापित करने के लिए कि संग्रह हटा दिया गया है, आप शेष संग्रहों को सूचीबद्ध करने के लिए शो संग्रह कमांड का उपयोग कर सकते हैं। आप देखेंगे कि सूची से एक संग्रह गायब होगा।
<एच3>2. डेटाबेस छोड़नाडेटाबेस को छोड़ने के लिए कमांड चलाने से पहले, आपको यह जांचना चाहिए कि आप सही डेटाबेस में हैं, अन्यथा आप गलत डेटाबेस से छुटकारा पा सकते हैं और मूल्यवान डेटा खो सकते हैं जिसे आप हटाना नहीं चाहते थे। इस उदाहरण में, हम डेटाबेस fossDB को छोड़ देंगे जो हमने पहले बनाया था। आइए सुनिश्चित करें कि हम नीचे दिए गए कमांड का उपयोग करके सही डेटाबेस में हैं:
>db
fossDB
आउटपुट:


आइए फिर नीचे दिए गए कमांड का उपयोग करके डेटाबेस को छोड़ दें:
>db.dropDatabase();
आउटपुट:


नीचे हम विभिन्न SQL शब्द और उनके संबंधित MongoDB शब्द प्रस्तुत करने जा रहे हैं;
SQL शब्द | MongoDB शर्तें |
---|---|
डेटाबेस | डेटाबेस |
तालिका | संग्रह |
सूचकांक | सूचकांक |
पंक्ति | दस्तावेज़ / BSON दस्तावेज़ |
Column | फ़ील्ड |
टेबल जॉइन | एम्बेडेड दस्तावेज़ और लिंकिंग |
प्राथमिक कुंजी - SQL में, यह किसी भी अद्वितीय कॉलम या कॉलम संयोजन को निर्दिष्ट करती है | प्राथमिक कुंजी - यह कुंजी स्वचालित रूप से MongoDB में _id फ़ील्ड पर सेट हो जाती है |
निष्कर्ष
JSON जैसे प्रतिनिधित्व, मापनीयता, आसानी और दस्तावेज़ बनाने के गतिशील तरीके के कारण MongoDB ने डेवलपर्स की दुनिया में बड़े पैमाने पर लोकप्रियता हासिल की है। इस लेख में MongoDB शेल में प्रयुक्त तीन कमांड पर चर्चा की गई है। हमें उम्मीद है कि इस लेख ने आपको इन आदेशों को बेहतर ढंग से समझने में मदद की है। यदि आप डेटा-भारी भारोत्तोलन के लिए किसी प्रोजेक्ट में उपयोग किए जाने वाले डेटाबेस की तलाश में हैं, तो मोंगोडीबी एक अच्छा विकल्प है जिस पर आप विचार करना चाहेंगे।