MongoDB का उपयोग करते समय, आप mongoimport
. का उपयोग कर सकते हैं संग्रह में दस्तावेज़ आयात करने के लिए। mongoimport
एक कमांड लाइन उपयोगिता है जो विस्तारित JSON, CSV, या TSV फ़ाइल से सामग्री आयात करती है। आयात फ़ाइल mongoexport
. द्वारा बनाई जा सकती थी या कुछ अन्य निर्यात उपयोगिता।
यह लेख एक JSON फ़ाइल को MongoDB में आयात करने के उदाहरण प्रस्तुत करता है।
उदाहरण
मान लीजिए कि हमारे पास निम्न JSON फ़ाइल है जिसे pets.json
. कहा जाता है :
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
निम्न आदेश JSON फ़ाइल को MongoDB में आयात करता है:
mongoimport --db=PetHotel --file=pets.json
इस मामले में, मैंने इसे आयात करने के लिए एक संग्रह निर्दिष्ट नहीं किया, इसलिए इसने फ़ाइल के समान नाम के साथ एक संग्रह बनाया (pets
)।
परिणाम जांचें
आइए संग्रह पर एक नज़र डालें।
db.pets.find()
परिणाम:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
हम देख सकते हैं कि दस्तावेज़ अपेक्षित रूप से आयात किए गए थे।
संग्रह का नाम निर्दिष्ट करें
आप --collection
का उपयोग कर सकते हैं (या -c
) फ़ाइल को आयात करने के लिए संग्रह निर्दिष्ट करने के लिए पैरामीटर।
यहां --collection
का उपयोग करने का एक उदाहरण दिया गया है एक ही फ़ाइल को भिन्न संग्रह में आयात करने के लिए पैरामीटर:
mongoimport --db=PetHotel --collection=pets2 --file=pets.json
यदि संग्रह पहले से मौजूद नहीं है, तो इसे बनाया जाएगा। यदि यह पहले से मौजूद है, तो आयात परिणाम आपके द्वारा उपयोग किए जा रहे मोड पर निर्भर करेगा (इस पर और अधिक नीचे)।
आयात करने से पहले संग्रह को छोड़ दें
आप --drop
का उपयोग कर सकते हैं किसी भी मौजूदा संग्रह को उसी नाम से छोड़ने के लिए पैरामीटर जिसे आप बनाने/आयात करने का प्रयास कर रहे हैं।
कल्पना कीजिए कि हमारे पास एक दूसरी फ़ाइल है, जिसे pets2.json
. कहा जाता है , निम्नलिखित दस्तावेज़ के साथ:
{ "_id" : 4, "name" : "Bubbles" } { "_id" : 5, "name" : "Hop", "type": "Kangaroo" }
अगर मैं उस दस्तावेज़ को pets
. में आयात करता हूँ, तो यहाँ क्या होता है? --drop
का उपयोग करके संग्रह विकल्प:
mongoimport --db=PetHotel --collection=pets --drop --file=pets2.json
आउटपुट:
2021-01-03T15:42:25.626+1000 connected to: mongodb://localhost/ 2021-01-03T15:42:25.640+1000 dropping: PetHotel.pets 2021-01-03T15:42:25.734+1000 2 document(s) imported successfully. 0 document(s) failed to import.
संदेश हमें बताता है कि संग्रह हटा दिया गया था, और एक दस्तावेज़ आयात किया गया था।
आइए इस संग्रह पर एक नज़र डालें:
db.pets.find()
परिणाम:
{ "_id" : 5, "name" : "Hop", "type" : "Kangaroo" } { "_id" : 4, "name" : "Bubbles" }
जैसा कि अपेक्षित था, संग्रह में केवल हमारे दो नए दस्तावेज़ हैं।
आयात मोड
कई आयात मोड हैं जिनका उपयोग आप mongoimport
. के साथ कर सकते हैं . ये मोड निर्धारित करते हैं कि क्या होता है यदि संग्रह में पहले से मेल खाने वाले दस्तावेज़ हैं जिन्हें आप आयात करने का प्रयास कर रहे हैं।
मोड इस प्रकार हैं:
मोड | <थ>विवरण|
---|---|
insert | यह डिफ़ॉल्ट मोड है। यह मोड आयात फ़ाइल से दस्तावेज़ सम्मिलित करता है। यदि संग्रह में मेल खाने वाला दस्तावेज़ पहले से मौजूद है, तो एक त्रुटि उत्पन्न होती है। एक मेल खाने वाला दस्तावेज़ वह होता है जिसमें एक ही अद्वितीय आईडी होती है (जैसे मेल खाने वाला _id फ़ील्ड) आयात फ़ाइल में एक दस्तावेज़ के रूप में। |
upsert | डेटाबेस में मौजूदा दस्तावेज़ों को आयात फ़ाइल से मेल खाने वाले दस्तावेज़ों से बदल देता है। अन्य सभी दस्तावेज़ सम्मिलित किए गए हैं। |
merge | मौजूदा दस्तावेज़ों को मर्ज करता है जो नए दस्तावेज़ के साथ आयात फ़ाइल में दस्तावेज़ से मेल खाते हैं। अन्य सभी दस्तावेज़ सम्मिलित किए गए हैं। |
delete | डेटाबेस में मौजूदा दस्तावेज़ों को हटाता है जो आयात फ़ाइल में किसी दस्तावेज़ से मेल खाते हैं। मेल न खाने वाले किसी भी दस्तावेज़ का कोई प्रभाव नहीं पड़ता है। |
mongoimport
. के आयात मोड देखें प्रत्येक मोड के उदाहरण के लिए।
mongoimport
की जांच करें
mongoimport
MongoDB डेटाबेस टूल्स पैकेज का हिस्सा है। MongoDB डेटाबेस टूल्स MongoDB के साथ काम करने के लिए कमांड-लाइन उपयोगिताओं का एक सूट है।
यदि आप सुनिश्चित नहीं हैं कि आपके पास MongoDB डेटाबेस टूल्स/mongoimport
है या नहीं स्थापित है, जाँच करने के लिए अपने टर्मिनल या कमांड प्रॉम्प्ट में निम्न कमांड चलाने का प्रयास करें:
mongoimport --version
यदि आपके पास है, तो आपको संस्करण की जानकारी आदि देखनी चाहिए। यदि आपके पास यह नहीं है, तो आप इसे अपने सिस्टम पर स्थापित करने के लिए MongoDB वेबसाइट पर इंस्टॉलेशन निर्देशों का उपयोग कर सकते हैं।
कहां कमांड चलाएं?
मत भूलो, आपको mongoimport
चलाने की आवश्यकता है आपके सिस्टम की कमांड लाइन (जैसे एक नया टर्मिनल या कमांड प्रॉम्प्ट विंडो) से कमांड।
उन्हें mongo
. से न चलाएं सीप।