MongoDB ट्यूटोरियल
MongoDB के साथ आरंभ करना
खोज…
टिप्पणियों
- बाजार में मोबाइल एप्लिकेशन आने के बाद दुनिया में डेटा काफी बढ़ने लगा। पारंपरिक रिलेशनल डेटाबेस - SQL के साथ डेटा की यह बड़ी मात्रा लगभग असंभव हो गई। NoSQL डेटाबेस को उन डेटा को संभालने के लिए पेश किया जाता है जहां प्रत्येक डेटा के लिए कॉलम की चर संख्या की तरह अधिक लचीलापन आया।
- MongoDB अग्रणी NoSQL डेटाबेस में से एक है। प्रत्येक संग्रह में कई JSON दस्तावेज़ हैं। JSON दस्तावेज़ में व्यक्त किए जा सकने वाले किसी भी डेटा मॉडल को MongoDB में आसानी से संग्रहीत किया जा सकता है।
- MongoDB एक सर्वर-क्लाइंट डेटाबेस है। सर्वर आमतौर पर बाइनरी फ़ाइल
mongod
साथ चलता है और क्लाइंटmongo
साथ चलता है। - विभिन्न दार्शनिक और व्यावहारिक कारणों से v.3.2 से पहले MongoDB में कोई भी ऑपरेशन शामिल नहीं है । लेकिन मोंगो शेल जावास्क्रिप्ट का समर्थन करता है, इसलिए यदि $ लुकअप उपलब्ध नहीं है, तो कोई डालने से पहले जावास्क्रिप्ट में दस्तावेजों पर परिचालन में शामिल होने का अनुकरण कर सकता है।
- उत्पादन के माहौल में एक उदाहरण चलाने के लिए, ऑपरेशन चेकलिस्ट का पालन करने की दृढ़ता से सलाह दी जाती है।
संस्करण
संस्करण | रिलीज़ की तारीख |
---|---|
3.4 | 2016/11/29 |
3.2 | 2015/12/08 |
3.0 | 2015-03-03 |
2.6 | 2014-04-08 |
2.4 | 2013-03-19 |
2.2 | 2012-08-29 |
2.0 | 2011-09-12 |
1.8 | 2011-03-16 |
1.6 | 2010-08-31 |
1.4 | 2010-03-25 |
1.2 | 2009-12-10 |
स्थापना
MongoDB स्थापित करने के लिए, नीचे दिए गए चरणों का पालन करें:
Mac OS के लिए:
- मैक ओएस के लिए दो विकल्प हैं: मैनुअल इंस्टॉल या होमब्रे ।
- होमब्रे के साथ इंस्टॉल करना:
- टर्मिनल में निम्न कमांड टाइप करें:
$ brew install mongodb
- टर्मिनल में निम्न कमांड टाइप करें:
- मैन्युअल रूप से स्थापित करना:
नवीनतम रिलीज यहाँ डाउनलोड करें । सुनिश्चित करें कि आप उपयुक्त फ़ाइल डाउनलोड कर रहे हैं, विशेष रूप से जांचें कि आपका ऑपरेटिंग सिस्टम प्रकार 32-बिट है या 64-बिट। डाउनलोड की गई फ़ाइल प्रारूप
tgz
।उस निर्देशिका पर जाएं जहां यह फ़ाइल डाउनलोड की गई है। फिर निम्न कमांड टाइप करें:
$ tar xvf mongodb-osx-xyz.tgz
xyz
बजाय, कुछ संस्करण और सिस्टम प्रकार की जानकारी होगी। निकाले गए फ़ोल्डर का नामtgz
फ़ाइल के समान होगा। फ़ोल्डर के अंदर, उनकाbin
नाम का सबफ़ोल्डर होगा जिसमेंmongod
औरmongo
के साथ कई बाइनरी फ़ाइल होगी।डिफ़ॉल्ट रूप से सर्वर फोल्डर
/data/db
में डेटा रखता है। इसलिए, हमें उस निर्देशिका को बनाना होगा और फिर निम्नलिखित कमांड वाले सर्वर को चलाना होगा:$ sudo bash # mkdir -p /data/db # chmod 777 /data # chmod 777 /data/db # exit
सर्वर शुरू करने के लिए, निम्न कमांड को वर्तमान स्थान से दिया जाना चाहिए:
$ ./mongod
यह डिफ़ॉल्ट रूप से 27017 पोर्ट पर सर्वर शुरू करेगा।
क्लाइंट को शुरू करने के लिए, एक नया टर्मिनल खोला जाना चाहिए जिसमें पहले जैसी डायरेक्टरी हो। फिर निम्न कमांड क्लाइंट शुरू करेगा और सर्वर से कनेक्ट होगा।
$ ./mongo
डिफ़ॉल्ट रूप से यह
test
डेटाबेस से जुड़ता है। यदि आप लाइन कोconnecting to: test
तरह देखते हैंconnecting to: test
। फिर आपने सफलतापूर्वक MongoDB स्थापित किया है। बधाई! अब, आप हैलो वर्ल्ड को और अधिक आत्मविश्वास से परख सकते हैं।
विंडोज के लिए:
नवीनतम रिलीज यहाँ डाउनलोड करें । सुनिश्चित करें कि आप उपयुक्त फ़ाइल डाउनलोड कर रहे हैं, विशेष रूप से जांचें कि आपका ऑपरेटिंग सिस्टम प्रकार 32-बिट है या 64-बिट।
डाउनलोड की गई बाइनरी फ़ाइल में एक्सटेंशन
exe
। चलाओ। यह एक इंस्टॉलेशन विज़ार्ड को संकेत देगा।अगला क्लिक करें।
लाइसेंस समझौते को स्वीकार करें और अगला क्लिक करें।
पूर्ण स्थापना का चयन करें ।
इंस्टॉल पर क्लिक करें । यह प्रशासक की अनुमति मांगने के लिए एक विंडो को संकेत दे सकता है। हाँ पर क्लिक करें।
इंस्टॉलेशन के बाद फिनिश पर क्लिक करें ।
अब, मोंगोडब को
C:/Program Files/MongoDB/Server/3.2/bin
पथ पर स्थापित किया गया है। संस्करण 3.2 के बजाय, आपके मामले के लिए कुछ अन्य संस्करण हो सकते हैं। पथ का नाम तदनुसार बदला जाएगा।bin
निर्देशिका मेंmongod
औरmongo
के साथ कई बाइनरी फ़ाइल हैं। इसे अन्य फ़ोल्डर से चलाने के लिए, आप सिस्टम पथ में पथ जोड़ सकते हैं। इसे करने के लिए:- मेरा कंप्यूटर पर राइट क्लिक करें और गुण चुनें।
- बाएँ फलक पर उन्नत सिस्टम सेटिंग पर क्लिक करें।
- उन्नत टैब के तहत पर्यावरण चर ... पर क्लिक करें।
- सिस्टम चर खंड से पथ का चयन करें और संपादित करें ... पर क्लिक करें ।
- विंडोज 10 से पहले, एक अर्ध-बृहदान्त्र संलग्न करें और ऊपर दिए गए पथ को पेस्ट करें। विंडोज 10 से, नया पथ जोड़ने के लिए एक नया बटन है।
- परिवर्तनों को सहेजने के लिए ठीक क्लिक करें।
अब,
db
नाम का सब-फोल्डर वाला एकdata
नाम बनाएँ, जहाँ आप सर्वर चलाना चाहते हैं।कमांड प्रॉम्प्ट उनके से शुरू करें। या तो cmd में रास्ता बदल रहा है या यहाँ ओपन कमांड विंडो पर क्लिक कर रहा है जो कि GUI के खाली स्थान पर राइट क्लिक करने के बाद Shift और Ctrl कुंजी को एक साथ दबाते हुए दिखाई देगा।
सर्वर शुरू करने के लिए कमांड लिखें:
> mongod
यह डिफ़ॉल्ट रूप से 27017 पोर्ट पर सर्वर शुरू करेगा।
एक और कमांड प्रॉम्प्ट खोलें और क्लाइंट शुरू करने के लिए निम्नलिखित टाइप करें:
> mongo
डिफ़ॉल्ट रूप से यह
test
डेटाबेस से जुड़ता है। यदि आप लाइन कोconnecting to: test
तरह देखते हैंconnecting to: test
। फिर आपने सफलतापूर्वक MongoDB स्थापित किया है। बधाई! अब, आप हैलो वर्ल्ड को और अधिक आत्मविश्वास से परख सकते हैं।
लिनक्स के लिए: कुछ समान कमांड को छोड़कर लगभग मैक ओएस के समान ही है।
- डेबियन-आधारित डिस्ट्रोस (
apt-get
का उपयोग करके):आयात MongoDB रिपोजिटरी कुंजी।
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 gpg: Total number processed: 1\ gpg: imported: 1 (RSA: 1)
Ubuntu 16.04 पर पैकेज सूची में रिपॉजिटरी जोड़ें।
$ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
उबंटू 14.04 पर ।
$ echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
पैकेज सूची अपडेट करें।
$ sudo apt-get update
MongoDB स्थापित करें।
$ sudo apt-get install mongodb-org
- रेड हैट डिस्ट्रोस (
yum
का उपयोग करके) के लिए:एक पाठ संपादक का उपयोग करें जिसे आप पसंद करते हैं।
$ vi /etc/yum.repos.d/mongodb-org-3.4.repo
पाठ के बाद पेस्ट करें।
[mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
पैकेज सूची अपडेट करें।
$ sudo yum update
MongoDB स्थापित करें
$ sudo yum install mongodb-org
- डेबियन-आधारित डिस्ट्रोस (
नमस्ते दुनिया
स्थापना प्रक्रिया के बाद, निम्न पंक्तियों को मोंगो शेल (क्लाइंट टर्मिनल) में दर्ज किया जाना चाहिए।
> db.world.insert({ "speech" : "Hello World!" });
> cur = db.world.find();x=cur.next();print(x["speech"]);
नमस्ते दुनिया!
स्पष्टीकरण:
- पहली पंक्ति में, हमने डिफ़ॉल्ट डेटाबेस
test
औरworld
नामक संग्रह में एक{ key : value }
जोड़ा गया दस्तावेज़ डाला है। - दूसरी पंक्ति में हम अपने द्वारा डाले गए डेटा को पुनः प्राप्त करते हैं। पुनर्प्राप्त डेटा को
cur
नाम के जावास्क्रिप्ट चर में रखा जाता है। फिरnext()
फ़ंक्शन द्वारा, हमने पहले और एकमात्र दस्तावेज़ को पुनः प्राप्त किया और इसेx
नाम के दूसरे js वेरिएबल में रखा। फिर कुंजी प्रदान करने वाले दस्तावेज़ के मूल्य को मुद्रित किया।
पूरक शर्तें
SQL शर्तें | MongoDB शर्तें |
---|---|
डेटाबेस | डेटाबेस |
तालिका | संग्रह |
इकाई / पंक्ति | दस्तावेज़ |
स्तंभ | की / मैदान |
तालिका में शामिल हों | एंबेडेड दस्तावेज़ |
प्राथमिक कुंजी | प्राथमिक कुंजी (डिफ़ॉल्ट कुंजी _id MongoDB ही द्वारा प्रदान की) |
MongoDB में एक जावास्क्रिप्ट फ़ाइल का निष्पादन
./mongo localhost:27017/mydb myjsfile.js
स्पष्टीकरण: इस आपरेशन निष्पादित करता myjsfile.js
एक में स्क्रिप्ट mongo
खोल कि को जोड़ता है mydb
पर डेटाबेस mongod
उदाहरण के माध्यम से सुलभ localhost
पोर्ट पर इंटरफेस 27017
। localhost:27017
अनिवार्य नहीं है क्योंकि यह डिफ़ॉल्ट पोर्ट mongodb
उपयोग है।
इसके अलावा, आप एक .js
फ़ाइल को mongo
कंसोल के भीतर से चला सकते हैं।
>load("myjsfile.js")
खोल में पठनीय खोजने का उत्पादन करना
हम अपने संग्रह परीक्षण में तीन रिकॉर्ड जोड़ते हैं:
> db.test.insert({"key":"value1","key2":"Val2","key3":"val3"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value2","key2":"Val21","key3":"val31"})
WriteResult({ "nInserted" : 1 })
> db.test.insert({"key":"value3","key2":"Val22","key3":"val33"})
WriteResult({ "nInserted" : 1 })
अगर हम उन्हें खोजने के माध्यम से देखते हैं, तो वे बहुत बदसूरत दिखेंगे।
> db.test.find()
{ "_id" : ObjectId("5790c5cecae25b3d38c3c7ae"), "key" : "value1", "key2" : "Val2
", "key3" : "val3" }
{ "_id" : ObjectId("5790c5d9cae25b3d38c3c7af"), "key" : "value2", "key2" : "Val2
1", "key3" : "val31" }
{ "_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"), "key" : "value3", "key2" : "Val2
2", "key3" : "val33" }
इसके चारों ओर काम करने और उन्हें पठनीय बनाने के लिए, सुंदर () फ़ंक्शन का उपयोग करें।
> db.test.find().pretty()
{
"_id" : ObjectId("5790c5cecae25b3d38c3c7ae"),
"key" : "value1",
"key2" : "Val2",
"key3" : "val3"
}
{
"_id" : ObjectId("5790c5d9cae25b3d38c3c7af"),
"key" : "value2",
"key2" : "Val21",
"key3" : "val31"
}
{
"_id" : ObjectId("5790c5e9cae25b3d38c3c7b0"),
"key" : "value3",
"key2" : "Val22",
"key3" : "val33"
}
>
मूंग शेल पर बेसिक कमांड
सभी उपलब्ध डेटाबेस दिखाएं:
show dbs;
उपयोग करने के लिए एक विशेष डेटाबेस का चयन करें, जैसे mydb
। यदि यह पहले से मौजूद नहीं है तो यह mydb
बनाएगा:
use mydb;
डेटाबेस में सभी संग्रह दिखाएं (पहले एक का चयन करना सुनिश्चित करें, ऊपर देखें):
show collections;
डेटाबेस के साथ उपयोग किए जा सकने वाले सभी कार्य दिखाएं:
db.mydb.help();
अपने वर्तमान में चयनित डेटाबेस की जांच करने के लिए, कमांड db
उपयोग करें
> db
mydb
db.dropDatabase()
कमांड का उपयोग किसी मौजूदा डेटाबेस को छोड़ने के लिए किया जाता है।
db.dropDatabase()