包含联系方式的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说导入了1个对象,但是在MongoDB shell中运行db.things.find()不会显示任何新文档。

我错过了什么?


当前回答

以上这些答案都很棒。这也是开发一个功能齐全的应用程序的方法。

但是如果你想要快速创建原型,想要在集合不断变化时保持灵活性,以及最小化你早期的代码库,有一种更简单的方法,但很少讨论。

你现在基本上可以放弃蒙古进口了。如果在这里提到这个问题,我可以节省3个小时。让我分享给大家:

Mongodb有一个名为Mongo Compass的GUI,它有csv和json导入功能,只需点击即可开箱即用。它是Mongo生态系统的正式组成部分。在撰写本文时,它是免费的,并且非常适合我的用例。 https://www.mongodb.com/products/compass

You simply get MongoDB compass running on your machine by following the simple installation. A couple of fields for DB connection and authentication directly in the GUI. Import the csv/json file. It took less than a second on a 30KB file to be parsed before user (me) validates. Validate the "type" of each property. Great feature, I could directly mention the property types such as booleans, integers, etc. In my experience, they seem all default to string. You can update before importing. Dates were more finicky and needed special attention on the coding side. One click further the csv is a collection in your mongo db local or on the cloud. Voila!

其他回答

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)

只需在执行mongoimport后使用它

它将返回导入对象的数量

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

将返回对象的数目。

首先你应该跳出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$

mongoimport -d test -c test——type csv——file SampleCSVFile_119kb.csv——headerline .csv

检查采集数据:—

var collections = db.getCollectionNames(); For (var I = 0;我< collections.length;我+ +) { print('Collection: ' + collections[i]); //打印每个集合的名称 db.getCollection(集合[我]);().forEach (printjson); //然后打印每个元素的json }

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

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

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