如何使用mongoimport导入csv

尝试导入包含联系信息的CSV:

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 ,但是启动Mongo shell并运行db.things.find()不会显示任何新文档。

我错过了什么?

你的例子用MongoDB 1.6.3和1.7.3为我工作。 下面的例子是1.7.3。 你使用的是旧版本的MongoDB吗?

 $ 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 } 

我感到困惑与类似的问题,mongoimport没有给我一个错误,但会报告导入0logging。 我已经使用默认的“另存为..”“xls as csv”,而没有特别指定“Windows逗号分隔(.csv)”格式,使用OSX Excel for Mac 2011版本保存了我的文件。 在研究这个网站并尝试使用“Windows逗号分隔(.csv)”格式再次保存,mongoimport工作正常。我认为mongoimport预计在每一行换行符和默认的Mac Excel 2011 csv导出没有提供每行结尾的字符。

我们需要执行下面的命令:

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

-d是数据库名称

-c是集合名称

–headerline如果使用–type csv或–type tsv,则使用第一行作为字段名称。 否则,mongoimport将把第一行作为一个独立的文件导入。

欲了解更多信息: mongoimport

检查文件末尾是否有空行,否则最后一行在mongoimport的某些版本上将被忽略

罗伯特·斯图尔特已经回答了如何用mongoimportimport。

我build议使用3T MongoChef Tool(3.2+版本)轻松导入CSV。 将来可能会帮助别人。

  1. 你只需要select收集
  2. select要导入的文件
  3. 您也可以取消select要导入的数据。 还有很多select。
  4. 集合导入

了解如何导入video

如果您在生产环境中工作,您很可能需要进行身份validation。 您可以使用这样的东西来validation正确的数据库与适当的凭据。

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

首先,你应该从mongo shell中出来,然后像这样执行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$ 

C:\ wamp \ mongodb \ bin> mongoexport –db proj_mmm – 收集产品–csv –fieldFile offerings_fields.txt –out offerings.csv

执行完mongoimport之后使用这个

它将返回导入的对象的数量

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

将返回对象的数量。

使用 :

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