मैं उपयोग करने में सक्षम हूं mongoimport
गैर-उल्का मोंगोडब डेटाबेस में सीएसवी डेटा आयात करने के लिए, लेकिन मैं अपने उल्का ऐप डेटाबेस में सीएसवी आयात करने के तरीके का पता लगा सकता हूं।
मैंने अपने उल्का ऐप के लिए मोंगो शेल चलाना सीखा (meteor mongo
) लेकिन मैं "टी रन" कर सकता हूं mongoimport
खोल से।
के लिए mongodb डॉक्स mongoimport
कहते हैं
इस उदाहरण में, mongoimport csv आयात करता हैलोकलहोस्ट पोर्ट पर 27017 नंबर पर चल रहे MongoDB उदाहरण पर उपयोगकर्ताओं के डेटाबेस में संग्रह संपर्कों में /opt/backups/contacts.csv में स्वरूपित डेटा।
mongoimport - db उपयोगकर्ता - संपर्क संपर्क
लेकिन जब मैं दौड़ता हूं mongod
, मेरा उल्का ऐप शुरू करें, और चलाएं mongoimport
यह मेरे लिए आयात करता है test
डेटाबेस, मेरा ऐप डेटाबेस नहीं।
मैं इस stackoverflow पोस्ट टिप्पणी पढ़ें:
अपने संग्रह को डंप करने के लिए मोंगोएक्सपोर्ट का उपयोग करेंव्यक्तिगत रूप से, फिर फ़ाइल को आयात करने के लिए mongoimport को उल्का मोंगोडब उदाहरण में उल्का नाम दिया गया। उल्का mongo उदाहरण bind_address 127.0.0.1 के साथ पोर्ट 3002 पर चलता है, और डेटा फाइलें उल्का परियोजना उपनिर्देशिका .meteor / स्थानीय / db में हैं।
लेकिन मुझे समझ में नहीं आता है कि उस उदाहरण से कैसे जुड़ा जाए या कैसे इसे लक्षित किया जाए mongoimport
आदेश।
उत्तर:
उत्तर № 1 के लिए 23लगता है जैसे मैंने अभी आपकी टिप्पणी का उत्तर दिया राहुल अद्भुत जवाब। वैसे भी अपने OS के लिए mongodb.org (या macports की तरह एक पैकेज मैनेजर) से mongodb डाउनलोड करें और बिन फ़ोल्डर में दिए गए टूल का उपयोग करें। mongoimport
isn "mongo शेल में एक कमांड नहीं है, यह एक निष्पादन योग्य है जो अलग से चलता है।
इसके अलावा (आमतौर पर) पोर्ट लगाना नहीं भूलते 3001 यदि आप अपने उल्का उदाहरण को चला रहे हैं 3000), डीबी भी आमतौर पर है उल्का & नहीं उपयोगकर्ताओं जब आप इसे चलाते हैं
mongoimport -h localhost:3001 --db meteor --collection contacts --type csv --file /opt/backups/contacts.csv
जवाब के लिए 8 № 2
नोट: उपरोक्त विधि मेरे लिए पोर्ट 3002 पर काम नहीं करती थी, लेकिन यह पोर्ट 3001 पर काम करती थी।
बाहरी TSV फ़ाइल को उल्का db, I में आयात करने के लिएTSV डेटा की जरूरत वाले उल्का ऐप को शुरू किया। इसने उल्का मोंगोडब सेवा (होस्ट में मेरे मामले में: लोकलहोस्ट: 3001) को भी लॉन्च किया, फिर मैंने OSX में एक टर्मिनल खोला और टर्मिनल के माध्यम से एक मोंगोडब पैकेज बिन फ़ोल्डर में नेविगेट किया, जिसे मैंने बाइनरी प्राप्त करने के लिए पहले डाउनलोड किया था। "mongoimport"। एक बार मोंगोडब पैकेज के बिन फ़ोल्डर में, फिर कमांड प्रॉम्प्ट पर मैंने नीचे लिखा टाइप किया (कुछ स्विच विकल्प अलग-अलग होंगे ... लेकिन --होस्ट, --localhost और --db स्विच / मान जैसा दिखाया जाना चाहिए):
$ ./mongoimport --host localhost:3001 --db meteor --collection datarefs --type tsv --drop --headerline --file /PathToFile/DataRefs.tsv
एंट्री मारने के बाद, मोंगोइमपोर्ट इको "dटर्मिनल में सफल आयात। एक बार यह हो जाने के बाद, मैं टर्मिनल के माध्यम से उल्का ऐप पर नेविगेट कर सकता हूं और उल्कापिंड शुरू कर सकता हूं: $ उल्का मोंगो .... और इस ऐप के लिए उल्का db में आयातित संग्रह, "datarefs" देखें।
$ meteor mongo
...
...
meteor:PRIMARY> show collections
datarefs
system.indexes
meteor:PRIMARY>
जवाब के लिए 4 № 3
पहले इस तरह उल्का ऐप में कलेक्शन बनाएं
Students = new Meteor.Collection("students");
फिर कुछ डमी मूल्य जोड़ें सुनिश्चित करें कि उल्का प्रारंभिक संग्रह
Students.insert({"name":"first"});
उदाहरण के लिए कुछ क्लिक घटना में। इस का उपयोग करने के लिए जाँच करें
meteor:PRIMARY> show collections
students
system.indexes
फिर आयात करें।
mongoimport -h localhost:3001 -d meteor -c students < students.json
किसी भी तरह उल्का नया आयात नहीं करता हैआपको जिन संग्रहों की आवश्यकता है, उन सभी को हटाकर कुछ डमी मूल्य जोड़ें, फिर से आयात करें या नया बनाएँ और डमी मूल्य के साथ आरंभ करें और फिर आयात करें। यह बाध्यकारी बग हो सकता है क्योंकि संग्रह न्यूनतम में सही दिखाई देते हैं।
अक्षत और टॉम काइलर को धन्यवाद
जवाब के लिए 0 № 4
Mongoimport को xxx.meteor.com पर चलाने के लिए एक छोटी स्क्रिप्ट (टेम्पलेट)
#!/ Bin / श # स्क्रिप्ट मुफ्त meteor.com होस्टिंग के लिए तैनात उल्का आवेदन करने के लिए csvfile आयात करने के लिए। # सुनिश्चित करें कि आपके mongo के संस्करण metor.com mongo संस्करणों के साथ मेल खाते हैं। # जनवरी 2016 के रूप में यह 3.x कुछ प्रतीत होता है। 3.12 के साथ परीक्षण किया गया। अगर [$ # -eq 0] फिर प्रतिध्वनि "उपयोग: $ 0 xxx.meteor.com संग्रह फ़ाइल नाम .csv" बाहर निकलें 1 फाई यूआरएल = $ 1 संकलन = $ 2 फ़ाइल = $ 3 गूंज $ URL से कनेक्ट हो रहा है, कृपया .... संग्रह = $ संकलन फ़ाइल = $ फ़ाइल के द्वारा खड़े हों PUPMS = `उल्कापात मूंगो - यूआरएल $ URL | sed "s / mongodb: /// -u /" | sed "s /: / -p /" | sed "s / @ / -h /" | sed "s /// -d /" ` mongoimport -v $ PUPMS --type csv --headerline - रंग $ $ संकलन - $ $ फ़ाइल
जवाब के लिए 0 № 5
अब मैं उपयोग करता हूँ mongochef डेटाबेस के बीच डेटा ले जाने के लिए। यह बहुत आसान है - आप बस प्रत्येक डेटाबेस (आमतौर पर स्थानीय और दूरस्थ डीबी) से कनेक्ट करते हैं फिर आप दस्तावेजों को संग्रह में कॉपी और पेस्ट कर सकते हैं। कमांड लाइन दृष्टिकोण की तुलना में बहुत आसान है।