我有一个大的CSV文件(100M),我希望将其导入到mongodb中。
所以,我已经着手用一个小样本CSV来探索我的选择。 mongoimport命令工作正常
mongoimport.exe -d mydb -c mycoll --type csv --file .\aaa.csv --headerline --stopOnError
但它会创建_id
类型的ObjectId
个键。现在,CSV中的每条记录都包含一个自然主键,我希望它成为mongo中的_id
。
如何进行导入?
修改
前两行是:
id,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj,kkk,lll,mmm,nnn,ooo,ppp,qqq,rrr,sss,ttt,uuu,vvv,www,xxx,yyy,zzz,q11,q22,q33,q44,q55,q66,q77,q88
72184515,4522534,"xo xo","2011-08-01 00:00:00","here",4848,4185,100,"xa xa","oops","yep",39.0797,-94.4067,"aha","qw","er","ty","opo",39.1029,-94.3826,2.06146,2,"q",1,"w","e","r","t","y","a","s","d","r","12787",""
id
列应该成为_id
。
答案 0 :(得分:6)
在.csv文件的标题行中,只需将“id”更改为“_id”即可。
使用mongoimport时,您可能会发现它有一点限制,因为它只创建字符串或数字的数据类型。从CSV文件导入数据的官方建议是编写自己的脚本,该脚本将创建包含正确格式和数据类型的文档以适合您的应用程序。
但是,如果您的.csv文件只包含字符串和数字,那么更改头文件就足够了。