如何将带有自然主键的CSV导入mongodb?

时间:2012-03-14 14:14:30

标签: mongodb

我有一个大的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

1 个答案:

答案 0 :(得分:6)

在.csv文件的标题行中,只需将“id”更改为“_id”即可。

使用mongoimport时,您可能会发现它有一点限制,因为它只创建字符串或数字的数据类型。从CSV文件导入数据的官方建议是编写自己的脚本,该脚本将创建包含正确格式和数据类型的文档以适合您的应用程序。

但是,如果您的.csv文件只包含字符串和数字,那么更改头文件就足够了。