试图通过联系信息导入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

Trace说 imported 1 objects, ,但要发射蒙哥外壳并跑步 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 }

其他提示

我感到困惑的是一个类似的问题,其中蒙古import没有给我一个错误,但会报告导入0个记录。我保存了使用Mac 2011版本的OSX Excel使用默认的“另存为..”“ XLS AS CSV”的文件,而无需专门指定“ Windows Comma Spiel(.csv)”格式。在研究了该网站并尝试“再次使用“ Windows Comma spareed(.csv)”格式的“再次保存”之后,Mongoimport工作正常。我认为Mongoimport期望每行上有一个newline角色,而默认Mac Excel 2011 CSV导出没有提供此信息。在每行末尾的角色。

我们需要执行以下命令:

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

-d是数据库名称

-c是收藏名称

- 标准线如果使用-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'

检查您在文件末尾有一个空白行,否则最后一行将在某些版本的Mongoimport上忽略

我在Mongoimport Shell上使用它

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

类型可以选择CSV/TSV/JSON,但只有CSV/TSV可以使用 --headerline

您可以阅读更多有关 官方文档.

罗伯特·斯图尔特(Robert Stewart)已经回答了如何与Mongoimport进口。

我建议使用简单的方法来优雅地导入CSV 3t蒙古 工具(3.2+版本)。将来可能会帮助某人。

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

如何导入视频

首先,您应该从 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$

罗伯特·斯图尔特(Robert Stewart)的答案很棒。

我想补充一点,您还可以使用类似的字段键入您的字段 - 像这样的视野:

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

(小心您的字段之间的逗号之后没有任何空间)

对于其他类型,请参见此处: https://docs.mongodb.com/manual/reference/program/mongoimport/#cmdoption-mongoimport-columnshavetypes

对于3.4版本,请使用以下语法:

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

三天后,我终于自己做到了。感谢所有支持我的用户。

C: wamp mongodb bin> mongoexport -db proj_mmm-收集产品 - csv -fieldfile offeress_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

MONGOIMPORT -D测试-C测试-TTYPE CSV-文件samplecsvfile_119kb.csv-headerline

检查收集数据: -

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
}

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)

奇怪没有人提到 --uri 旗帜:

mongoimport --uri connectionString -c questions --type csv --file questions.csv --headerline 

为未来的读者分享:

在我们的情况下,我们需要添加 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

我的要求是导入 .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

以下是导入后的外观的屏幕截图:

enter image description here

在哪里 nameemail 是列 .csv 文件。

给出 .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 文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top