সিএসভি আমদানির জন্য মঙ্গোইম্পোর্ট কীভাবে ব্যবহার করবেন


189

যোগাযোগের তথ্য সহ একটি সিএসভি আমদানির চেষ্টা করছেন:

Name,Address,City,State,ZIP  
Jane Doe,123 Main St,Whereverville,CA,90210  
John Doe,555 Broadway Ave,New York,NY,10010 

এটি চালানো ডেটাবেসে কোনও নথি যুক্ত করবে বলে মনে হচ্ছে না:

$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline

ট্রেস বলেছেন imported 1 objects, তবে মোংগো শেল গুলি চালানো এবং চালানো db.things.find()কোনও নতুন দস্তাবেজ দেখায় না।

আমি কী মিস করছি?


1
আপনি কি use mydbআগে চেষ্টা করেছিলেন db.things.find()?
কাইল ওয়াইল্ড

1
হ্যাঁ - এখনও অন্যান্য নথি যা db.things- এ রয়েছে দেখায়
জো

নেস্টেড ডকুমেন্টগুলির সংকলনে (সাব-ডকুমেন্টস বা অ্যারে সহ) কোনও সিএসভি আমদানির জন্য আপনি এডাব্লুকে
রাফেল

উত্তর:


243

আপনার উদাহরণটি মঙ্গোডিবি 1.6.3 এবং 1.7.3 এর সাথে আমার জন্য কাজ করেছে। নীচের উদাহরণটি ছিল 1.7.3 এর জন্য। আপনি কি মঙ্গোডিবি-র একটি পুরানো সংস্করণ ব্যবহার করছেন?

$ cat > locations.csv
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
 ctrl-d
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
connected to: 127.0.0.1
imported 3 objects
$ mongo
MongoDB shell version: 1.7.3
connecting to: test
> use mydb
switched to db mydb
> db.things.find()
{ "_id" : ObjectId("4d32a36ed63d057130c08fca"), "Name" : "Jane Doe", "Address" : "123 Main St", "City" : "Whereverville", "State" : "CA", "ZIP" : 90210 }
{ "_id" : ObjectId("4d32a36ed63d057130c08fcb"), "Name" : "John Doe", "Address" : "555 Broadway Ave", "City" : "New York", "State" : "NY", "ZIP" : 10010 }

7
ধন্যবাদ! এটি আমার পক্ষে কাজ করে। আপনি যেমনটি করেছেন CSV তৈরির ব্যতিক্রম বাদ দিয়ে আমিও একই কাজটি করছিলাম। চেষ্টা করেছেন এবং এটি যথাযথভাবে কাজ করেছে। আমি এমএস এক্সেলে আসল ফাইলটি তৈরি করেছি, তাই অনুমান করে প্রতিটি লাইনের শেষে নিউলাইনে সমস্যা ছিল।
জো

আমার জন্যও কাজ করেছেন। আমি ওএস এক্স-এ শেষ হওয়া এলএফ লাইনের সাথে ফাইলটি সংরক্ষণ করেছি এবং এটি কার্যকর হয়েছে।
খাশ

CSV থেকে সমস্ত রেকর্ডটি প্রতি রেকর্ডে 1 অবজেক্টের পরিবর্তে 1 টি অবজেক্টে আমদানি করা সম্ভব?
অনিকেত কাপসে

হ্যাঁ, সিএসভি স্টাফ করার সময় শব্দ থেকে দূরে থাকুন। আমারো একই ইস্যু ছিল. ওয়ার্ড এবং মঙ্গোইম্পোর্টেও বাগগুলি :(
ম্যাট ফ্লেচার

2
আমদানি করার সময় প্রমাণীকরণ করতে সক্ষম হতে আপনি করতে পারেনmongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'
blueskin

29

আমি একই ধরণের সমস্যায় বিভ্রান্ত হয়ে পড়েছিলাম যেখানে মঙ্গোইম্পোর্ট আমাকে ত্রুটি দেয় নি তবে 0 টি রেকর্ড আমদানির প্রতিবেদন করবে। আমি আমার ফাইলটি সেভ করেছিলাম যা ম্যাক 2011 সংস্করণের জন্য ওএসএক্স এক্সেলটি ডিফল্ট "উইন্ডোজ কমা সেপারটেড (.csv)" ফর্ম্যাটটি নির্দিষ্ট করে না দিয়ে "হিসাবে সংরক্ষণ করুন .." "সিএসভি হিসাবে এক্সএলএস" ব্যবহার করে কাজ করে নি। এই সাইটটি গবেষণা করার পরে এবং "উইন্ডোজ কমা পৃথকীকৃত (.csv) ফর্ম্যাটটি ব্যবহার করে" আবার যেমন সংরক্ষণ করুন "চেষ্টা করার পরে মঙ্গোইম্পোর্টটি ভাল কাজ করেছে I আমি মনে করি মঙ্গোইম্পোর্ট প্রতিটি লাইনে একটি নতুন লাইন চরিত্রের প্রত্যাশা করে এবং ডিফল্ট ম্যাক এক্সেল 2011 সিএসভি রফতানি সরবরাহ করে না প্রতিটি লাইনের শেষে অক্ষর।


সিএসভি ফাইলগুলি প্রক্রিয়াকরণ করার সময় এক্সেল প্রকৃতপক্ষে একটি অদ্ভুত প্রাণী, এর মধ্যে অন্যান্য ডাটাবেসে সিএসভি আমদানির চেষ্টা অন্তর্ভুক্ত রয়েছে, এটি মঙ্গোর সাথে সম্পর্কিত কোনও সমস্যা নয় strictly আমি সিএসভিগুলির সাথে ঘুরে বেড়ানোর সময় গুগল শিটগুলি ব্যবহার করার পরামর্শ দেব, এটি নিখরচায়, অনলাইন এবং সঠিকভাবে ফর্ম্যাটেড সিএসভি এবং টিএসভিও আমদানি / রফতানি করার অনুমতি দেয়
ম্যাককে

21

আমাদের নিম্নলিখিত কমান্ডটি কার্যকর করতে হবে:

mongoimport --host=127.0.0.1 -d database_name -c collection_name --type csv --file csv_location --headerline

-d হ'ল ডাটাবেসের নাম

-সি সংগ্রহের নাম

- হেডারলাইন - - টাইপ সিএসভি বা - টাইপ টিএসভি ব্যবহার করে প্রথম ক্ষেত্রের নাম হিসাবে লাইন ব্যবহার করে। অন্যথায়, মঙ্গোইম্পোর্ট প্রথম লাইনটিকে স্বতন্ত্র নথি হিসাবে আমদানি করবে।

আরও তথ্যের জন্য: মঙ্গোইম্পোর্ট


6

আপনি যদি পরিবেশগত পরিবেশে কাজ করছেন তবে আপনাকে সম্ভবত প্রমাণীকরণের প্রয়োজন হবে। যথাযথ শংসাপত্র সহ সঠিক ডাটাবেসের বিরুদ্ধে প্রমাণীকরণের জন্য আপনি এর মতো কিছু ব্যবহার করতে পারেন।

mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'

3

আপনার ফাইলের শেষে একটি ফাঁকা রেখা আছে তা পরীক্ষা করুন, নইলে মোঙ্গোইম্পোর্টের কয়েকটি সংস্করণে শেষ লাইনটি উপেক্ষা করা হবে


3

আমি এটি মঙ্গোইম্পোর্ট শেল ব্যবহার করি

mongoimport --db db_name --collection collection_name --type csv --file C:\\Your_file_path\target_file.csv --headerline

প্রকারটি সিএসভি / টিএসভি / জসন বেছে নিতে পারে তবে কেবল সিএসভি / টিএসভি ব্যবহার করতে পারে --headerline

আপনি অফিশিয়াল ডকটিতে আরও পড়তে পারেন ।


1

রবার্ট স্টুয়ার্ট ইতিমধ্যে মঙ্গোইম্পোর্টের মাধ্যমে কীভাবে আমদানি করবেন সে সম্পর্কে উত্তর দিয়েছেন।

আমি 3 টি মঙ্গোচেফ সরঞ্জাম (3.2+ সংস্করণ) দিয়ে মার্জিতভাবে সিএসভি আমদানির সহজ উপায়ের পরামর্শ দিচ্ছি । ভবিষ্যতে কাউকে সাহায্য করতে পারে।

  1. আপনার কেবল সংগ্রহ নির্বাচন করতে হবে
  2. আমদানি করার জন্য ফাইল নির্বাচন করুন
  3. আপনি যে ডেটা আমদানি করতে চলেছেন তা নির্বাচন থেকে বাছাই করতে পারেন। এছাড়াও অনেক অপশন আছে।
  4. সংগ্রহ আমদানি করা হয়েছে

কীভাবে ভিডিও আমদানি করবেন দেখুন


1

প্রথমে আপনার mongoশেল থেকে বেরিয়ে এসে mongoimportকমান্ডটি এভাবে চালিত করা উচিত :

Manojs-MacBook-Air:bin Aditya$ mongoimport -d marketdata -c minibars 
--type csv 
--headerline
--file '/Users/Aditya/Downloads/mstf.csv'

2017-05-13T20:00:41.989+0800    connected to: localhost
2017-05-13T20:00:44.123+0800    imported 97609 documents
Manojs-MacBook-Air:bin Aditya$

ong মোঙ্গোইম্পোর্ট-মার্কেটডাটা -c মিনিবার্স - টাইপ সিএসভি - হেডারলাইন - ফাইল '/ ব্যবহারকারীরা / আদিত্য /ডাউনলোডস / এমএসটিএফ.সি.এসভি' গুরানটেড ফলাফল মনোজ
বারিকের

1

রবার্ট স্টুয়ার্টের উত্তরগুলি দুর্দান্ত।

আমি যুক্ত করতে চাই যে আপনিও --columHaveTypes এবং - ক্ষেত্রগুলির মতো আপনার ক্ষেত্রগুলি টাইপ করতে পারেন:

mongoimport -d myDb -c myCollection --type csv --file myCsv.csv 
  --columnsHaveTypes --fields "label.string(),code.string(),aBoolean.boolean()"

(আপনার ক্ষেত্রগুলির মধ্যে কমা পরে কোনও স্থান না পাওয়ার জন্য সতর্ক)

অন্যান্য ধরণের জন্য, এখানে ডকটি দেখুন: https://docs.mongodb.com/manual/references/program/mongoimport/#cmdoption-mongoimport-c कॉलমশেভ টাইপস


1

3.4 সংস্করণের জন্য, দয়া করে নীচের সিনট্যাক্সটি ব্যবহার করুন:

mongoimport -u "username" -p "password" -d "test" -c "collections" --type csv --file myCsv.csv --headerline

3 দিন পরে, অবশেষে আমি এটি নিজের হাতে তৈরি করেছি। আমাকে সমর্থনকারী সকল ব্যবহারকারীকে ধন্যবাদ।


টাইপো রয়েছে, - শিরোনাম,
অঙ্কিত কুমার

1

আমি যখন সিএসভি ফাইলটি আমদানির চেষ্টা করছিলাম তখন আমি একটি ত্রুটি পাচ্ছিলাম। আমি কী করেছি. প্রথমে আমি মূল শিরোনামে শিরোনামের লাইনের কলামের নামগুলি পরিবর্তন করেছি এবং "-" সরিয়েছি এবং প্রয়োজনে "_" যুক্ত করেছি। তারপরে মঙ্গোতে সিএসভি আমদানির জন্য নীচের কমান্ডটি টাইপ করুন

$ mongoimport --db=database_name --collection=collection_name --type=csv --file=file_name.csv --headerline  

এখানে চিত্র বর্ণনা লিখুন


মোহন মত কাজ! উপরে উল্লিখিত উত্তরটি আমার মনে হয় পুরানো মঙ্গোডিবি সংস্করণগুলির জন্য ছিল।
রাঘব শর্মা

0

সি: \ ওয়্যাম্প \ মোংডব \ বিন> মঙ্গোএক্সপোর্ট - ডিবি প্রোজ_মিএম - কালেকশন অফারস


0

মঙ্গোইম্পোর্ট কার্যকর করার পরে এটি ব্যবহার করুন

এটি আমদানিকৃত বস্তুর সংখ্যা ফিরিয়ে দেবে

use db
db.collectionname.find().count()

বস্তুর সংখ্যা প্রদান করবে।


0

ব্যবহার:

mongoimport -d 'database_name' -c 'collection_name' --type csv --headerline --file filepath/file_name.csv

0

মঙ্গোইম্পোর্ট-ডি পরীক্ষা -c পরীক্ষা - টাইপ সিএসভি - ফাইল নমুনা সিএসভিফাইলে_119 কেবি সিএসভি - শিরোনাম

সংগ্রহের ডেটা পরীক্ষা করুন: -

var collections = db.getCollectionNames();

for(var i = 0; i< collections.length; i++)
{    
   print('Collection: ' + collections[i]);
   // print the name of each collection
   
   db.getCollection(collections[i]).find().forEach(printjson);
   
   //and then print the json of each of its elements
}


0
1]We can save xsl as .csv file
2] Got to MongoDB bin pathon cmd - > cd D:\Arkay\soft\MongoDB\bin
3] Run below command
> mongoimport.exe -d dbname -c collectionname --type csv --file "D:\Arkay\test.csv" --headerline
4] Verify on Mongo side using below coomand.
>db.collectioname.find().pretty().limit(1)


0

ভবিষ্যতের পাঠকদের জন্য ভাগ করে নেওয়া:

আমাদের ক্ষেত্রে, hostপ্যারামিটারটি কাজ করার জন্য আমাদের যুক্ত করা দরকার

mongoimport -h mongodb://someMongoDBhostUrl:somePORTrunningMongoDB/someDB -d someDB -c someCollection -u someUserName -p somePassword --file someCSVFile.csv --type csv --headerline --host=127.0.0.1

0

আমার প্রয়োজন ছিল .csv (with no headline)দূরবর্তী MongoDBউদাহরণটি আমদানি করা । জন্য mongoimport v3.0.7নিচের কমান্ড আমার জন্য কাজ:

mongoimport -h <host>:<port> -u <db-user> -p <db-password>  -d <database-name> -c <collection-name> --file <csv file location> --fields <name of the columns(comma seperated) in csv> --type csv

উদাহরণ স্বরূপ:

mongoimport -h 1234.mlab.com:61486 -u arpitaggarwal -p password  -d my-database -c employees --file employees.csv --fields name,email --type csv

আমদানির পরে দেখতে কেমন লাগে তার স্ক্রিনশট নীচে:

এখানে চিত্র বর্ণনা লিখুন

কোথায় nameএবং ফাইলের emailকলামগুলি .csv


0

প্রদত্ত .csvফাইল আমি যা দিয়ে শুধুমাত্র একটি কলাম আছে কোন শিরোলেখ , নীচের কমান্ড আমার জন্য কাজ:

mongoimport -h <mongodb-host>:<mongodb-port> -u <username> -p <password> -d <mongodb-database-name> -c <collection-name> --file file.csv --fields <field-name> --type csv

যেখানে ফিল্ড-নাম.csv ফাইলের কলামের শিরোনামের নাম উল্লেখ করে


0

/ Usr / লোকাল / বিন বা আপনার মন্ডডব যে ফোল্ডারে রয়েছে তা .csv ফাইলটি অনুলিপি করে নিশ্চিত করে নিন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.