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

MongoDB - डेटा आयात करें

mongoimport का उपयोग करें MongoDB डेटाबेस में डेटा आयात करने की उपयोगिता।

MongoDB mongoimport प्रदान करता है उपयोगिता जिसका उपयोग JSON, CSV, या TSV फ़ाइलों को MongoDB डेटाबेस में आयात करने के लिए किया जा सकता है।

mongoimport बिन निर्देशिका में स्थित है (उदाहरण के लिए, /mongodb/bin या जहां भी आपने इसे स्थापित किया है)।

डेटा आयात करने के लिए, एक नया टर्मिनल/कमांड प्रॉम्प्ट विंडो खोलें और mongoimport दर्ज करें इसके बाद डेटाबेस का नाम, संग्रह का नाम, स्रोत फ़ाइल का नाम आदि जैसे पैरामीटर आते हैं।

यदि आप पाते हैं कि आप mongoimport नहीं चला सकते हैं , सुनिश्चित करें कि आप mongo . से बाहर निकल चुके हैं उपयोगिता, या mongoexport चलाने से पहले एक नई टर्मिनल/कमांड प्रॉम्प्ट विंडो खोली , क्योंकि यह एक अलग उपयोगिता है।

JSON फ़ाइल आयात करें

यहां mongoimport चलाने का एक उदाहरण दिया गया है JSON फ़ाइल आयात करने के लिए।

आपको याद होगा कि हमने पहले mongoexport . का इस्तेमाल किया था कलाकारों को निर्यात करने के लिए JSON फ़ाइल में संग्रह।

हमने बाद में कलाकारों . को हटा दिया पूरी तरह से संग्रह।

अब, हम उस संग्रह को वापस अपने डेटाबेस में आयात करेंगे।

mongoimport --db music --file /data/dump/music/artists.json

परिणामी संदेश:

2016-07-12T13:34:04.904+0700	no collection specified
2016-07-12T13:34:04.905+0700	using filename 'artists' as collection
2016-07-12T13:34:04.911+0700	connected to: localhost
2016-07-12T13:34:04.968+0700	imported 13 documents

यदि आप संग्रह का नाम निर्दिष्ट नहीं करते हैं, तो फ़ाइल के नाम के आधार पर एक संग्रह बनाया जाता है (किसी भी एक्सटेंशन को घटाकर)।

अब, चलिए वापस अपने mongo . पर स्विच करते हैं टर्मिनल/कमांड प्रॉम्प्ट विंडो और हमारे डेटाबेस में संग्रह की सूची पुनर्प्राप्त करें:

show collections

परिणाम:

artists
musicians
producers

अब हम अपने पुनर्जीवित संग्रह को क्वेरी करेंगे।

db.artists.find()

परिणाम:

{ "_id" : 1, "artistname" : "AC/DC" }
{ "_id" : ObjectId("5781d7f248ef8c6b3ffb014d"), "artistname" : "The Kooks" }
{ "_id" : ObjectId("5780fbf948ef8c6b3ffb0149"), "artistname" : "The Tea Party" }
{ "_id" : ObjectId("5781d7f248ef8c6b3ffb014f"), "artistname" : "Gang of Four" }
{ "_id" : ObjectId("5781d7f248ef8c6b3ffb014e"), "artistname" : "Bastille" }
{ "_id" : ObjectId("5781c9ac48ef8c6b3ffb014a"), "artistname" : "Jorn Lande" }
{ "_id" : ObjectId("5781f85d48ef8c6b3ffb0150"), "artistname" : "Deep Purple", "albums" : [ { "album" : "Machine Head", "year" : 1972, "genre" : "Rock" }, { "album" : "Stormbringer", "year" : 1974, "genre" : "Rock" } ] }
{ "_id" : ObjectId("578214f048ef8c6b3ffb0159"), "artistname" : "Miles Davis", "albums" : [ { "album" : "Kind of Blue", "year" : 1959, "genre" : "Jazz" }, { "album" : "Bitches Brew", "year" : 1970, "genre" : "Jazz" } ] }
{ "_id" : ObjectId("578217c248ef8c6b3ffb015a"), "artistname" : "Robben Ford", "albums" : [ { "album" : "Bringing it Back Home", "year" : 2013, "genre" : "Blues" }, { "album" : "Talk to Your Daughter", "year" : 1988, "genre" : "Blues" } ] }
{ "_id" : 2, "artistname" : "Prince", "address" : { "street" : "Audubon Road", "city" : "Chanhassen", "state" : "Minnesota", "country" : "United States" } }
{ "_id" : 4, "artistname" : "Rush" }
{ "_id" : 3, "artistname" : "Moby", "albums" : [ { "album" : "Play", "year" : 1999, "genre" : "Electronica" }, { "album" : "Long Ambients 1: Calm. Sleep.", "year" : 2016, "genre" : "Ambient" } ] }
{ "_id" : ObjectId("578217c248ef8c6b3ffb015b"), "artistname" : "Snoop Dogg", "albums" : [ { "album" : "Tha Doggfather", "year" : 1996, "genre" : "Rap" }, { "album" : "Reincarnated", "year" : 2013, "genre" : "Reggae" } ] }

संग्रह नाम निर्दिष्ट करें

आप --collection का उपयोग कर सकते हैं उस संग्रह का नाम प्रदान करने के लिए तर्क जिसमें डेटा जाना चाहिए।

आइए एक और फ़ाइल आयात करें, लेकिन इस बार, एक संग्रह नाम निर्दिष्ट करें:

mongoimport --db music --collection jazz --file /data/dump/music/miles_davis.json

परिणामी संदेश:

2016-07-12T14:09:01.793+0700	connected to: localhost
2016-07-12T14:09:01.849+0700	imported 1 document

अब वापस mongo पर स्विच करें और संग्रहों की सूची देखें:

show collections

परिणामी संदेश:

artists
jazz
musicians
producers

और अंत में, jazz . को क्वेरी करें संग्रह:

db.jazz.find().pretty()

परिणामी संदेश:

{
	"_id" : ObjectId("578214f048ef8c6b3ffb0159"),
	"artistname" : "Miles Davis",
	"albums" : [
		{
			"album" : "Kind of Blue",
			"year" : 1959,
			"genre" : "Jazz"
		},
		{
			"album" : "Bitches Brew",
			"year" : 1970,
			"genre" : "Jazz"
		}
	]
}

सीएसवी फ़ाइल आयात करें

आप --type csv . का उपयोग करके CSV फ़ाइल आयात कर सकते हैं ।

यदि CSV फ़ाइल में हेडर पंक्ति है, तो --headerline . का उपयोग करें mongoimport को बताने के लिए परिणामी दस्तावेज़ में फ़ील्ड का नाम निर्धारित करने के लिए पहली पंक्ति का उपयोग करने के लिए।

यदि CSV फ़ाइल में हेडर पंक्ति नहीं है, तो --fields . का उपयोग करें फ़ील्ड नाम सेट करने के लिए पैरामीटर।

हैडर रो के साथ

यहां शीर्षलेख पंक्ति वाले दस्तावेज़ को आयात करने का एक उदाहरण दिया गया है।

CSV फ़ाइल की सामग्री:

_id,albumname,artistname
1,Killers,"Iron Maiden"
2,Powerslave,"Iron Maiden"
12,"Somewhere in Time","Iron Maiden"
3,"Surfing with the Alien","Joe Satriani"
10,"Flying in a Blue Dream","Joe Satriani"
11,"Black Swans and Wormhole Wizards","Joe Satriani"
6,"Out of the Loop","Mr Percival"
7,"Suck on This",Primus
8,"Pork Soda",Primus
9,"Sailing the Seas of Cheese",Primus

फ़ाइल आयात करें:

mongoimport --db music --collection catalog --type csv --headerline --file /data/dump/music/catalog.csv

संग्रह को क्वेरी करें:

> db.catalog.find()
{ "_id" : 2, "albumname" : "Powerslave", "artistname" : "Iron Maiden" }
{ "_id" : 1, "albumname" : "Killers", "artistname" : "Iron Maiden" }
{ "_id" : 3, "albumname" : "Surfing with the Alien", "artistname" : "Joe Satriani" }
{ "_id" : 12, "albumname" : "Somewhere in Time", "artistname" : "Iron Maiden" }
{ "_id" : 10, "albumname" : "Flying in a Blue Dream", "artistname" : "Joe Satriani" }
{ "_id" : 6, "albumname" : "Out of the Loop", "artistname" : "Mr Percival" }
{ "_id" : 7, "albumname" : "Suck on This", "artistname" : "Primus" }
{ "_id" : 8, "albumname" : "Pork Soda", "artistname" : "Primus" }
{ "_id" : 11, "albumname" : "Black Swans and Wormhole Wizards", "artistname" : "Joe Satriani" }
{ "_id" : 9, "albumname" : "Sailing the Seas of Cheese", "artistname" : "Primus" }

बिना हैडर रो के

यहां एक और CSV फ़ाइल है, लेकिन इसमें शीर्षलेख पंक्ति नहीं है:

Mutt Lange, 1948
John Petrucci, 1967
DJ Shadow, 1972
George Clinton, 1941

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

mongoimport --db music --collection producers --type csv --fields name,born --file /data/dump/music/producers.csv

संग्रह को क्वेरी करें:

> db.producers.find()
{ "_id" : 1, "name" : "Bob Rock" }
{ "_id" : ObjectId("5784a3a5dfad478c015f6b72"), "name" : "John Petrucci", "born" : 1967 }
{ "_id" : ObjectId("5784a3a5dfad478c015f6b73"), "name" : "Mutt Lange", "born" : 1948 }
{ "_id" : ObjectId("5784a3a5dfad478c015f6b74"), "name" : "George Clinton", "born" : 1941 }
{ "_id" : ObjectId("5784a3a5dfad478c015f6b75"), "name" : "DJ Shadow", "born" : 1972 }

आप देखेंगे कि ObjectId फ़ील्ड स्वचालित रूप से हमारे लिए बनाया और पॉप्युलेट किया गया है।

साथ ही, आयात चलाने से पहले हमारे पास इस संग्रह में पहले से ही एक दस्तावेज़ था: { "_id" :1, "name" :"Bob Rock" } . इसलिए, आप देख सकते हैं कि आयात बस जोड़ा है संग्रह के लिए (इसे और इसकी सभी सामग्री को बदलने के विपरीत)।

आप TSV फ़ाइलों को आयात करने के लिए उसी विधि का उपयोग कर सकते हैं। बस --type tsv . का उपयोग करें ।


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं नेवला में एकाधिक दस्तावेज़ कैसे अपडेट कर सकता हूं?

  2. मोंगो एकत्रीकरण ढांचे का उपयोग करते हुए एकाधिक समूह संचालन

  3. क्या मोंगोडीबी का मूल आरईएसटी इंटरफ़ेस है?

  4. मोंगोडब सेवा शुरू नहीं होगी

  5. मैं अपने डेटाबेस का MongoDB डंप कैसे बनाऊं?