MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongoimport के साथ MongoDB में JSON फ़ाइल आयात करें

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 . से न चलाएं सीप।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. java.lang.IncompatibleClassChangeError:कक्षा Mongo लागू करना

  2. मोंगोडीबी $ltrim

  3. मोंगोडीबी रेगेक्स इंटीजर वैल्यू पर सर्च करें

  4. मोंगोडब-देशी findOne () में फ़ील्ड नाम के रूप में एक चर का उपयोग कैसे करें?

  5. MongoDB में किसी संपत्ति के आधार पर नेस्टेड सरणी ऑब्जेक्ट अपडेट करें