Joe*_*Joe 179 database csv import mongodb mongoimport
尝试导入包含联系信息的CSV:
Name,Address,City,State,ZIP
Jane Doe,123 Main St,Whereverville,CA,90210
John Doe,555 Broadway Ave,New York,NY,10010
Run Code Online (Sandbox Code Playgroud)
运行此似乎不会向数据库添加任何文档:
$ mongoimport -d mydb -c things --type csv --file locations.csv --headerline
Run Code Online (Sandbox Code Playgroud)
Trace说imported 1 objects,但启动Mongo shell并运行db.things.find()并不会显示任何新文档.
我错过了什么?
Rob*_*art 238
您的示例适用于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 }
Run Code Online (Sandbox Code Playgroud)
小智 27
我对一个类似的问题感到困惑,其中mongoimport没有给我一个错误,但会报告导入0条记录.我使用默认的"另存为...""xls as csv"保存了使用OSX Excel for Mac 2011版本无法正常工作的文件,而没有具体指定"Windows逗号分隔(.csv)"格式.在研究了这个网站并尝试使用"另存为"Windows逗号分隔(.csv)"格式后,mongoimport工作正常.我认为mongoimport期望每行都有换行符,默认的Mac Excel 2011 csv导出没有提供每行末尾的字符.
d.d*_*lov 17
我们需要执行以下命令:
mongoimport --host=127.0.0.1 -d database_name -c collection_name --type csv --file csv_location --headerline
Run Code Online (Sandbox Code Playgroud)
-d是数据库名称
-c是集合名称
--headerline如果使用--type csv或--type tsv,则使用第一行作为字段名称.否则,mongoimport会将第一行导入为不同的文档.
有关更多信息:mongoimport
如果您在生产环境中工作,您很可能需要进行身份验证.您可以使用此类内容通过适当的凭据对正确的数据库进行身份验证.
mongoimport -d db_name -c collection_name --type csv --file filename.csv --headerline --host hostname:portnumber --authenticationDatabase admin --username 'iamauser' --password 'pwd123'
Run Code Online (Sandbox Code Playgroud)