2012-03-14 5 views
1

私はmongodbにインポートしたい大きなCSVファイル(100M)を持っています。mongodbに自然な主キーを持つCSVをインポートするには?

私は小規模なサンプルCSVで自分の選択肢を探求しました。 mongoimportコマンドは

mongoimport.exe -d mydb -c mycoll --type csv --file .\aaa.csv --headerline --stopOnError 

正常に動作しますが、それはタイプObjectId_idキーを作成します。 CSVの各レコードには、ナチュラルプライマリキーが含まれています。これは、mongoの_idになりたいのです。

インポートするにはどうすればよいですか?

EDIT

トップの2行は、次のとおりです。

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

あなたのcsvのトップ部分を投稿してください(ヘッダ付き) –

答えて

6

.csvファイルのヘッダー行に、単に "id"を "_id"に変更します。

mongoimportを使用すると、文字列または数字のデータ型しか作成されないため、少し制限があることがあります。 CSVファイルからデータをインポートするための公式の推奨事項は、アプリケーションに合った正しいフォーマットとデータタイプを含むドキュメントを作成する独自のスクリプトを作成することです。

ただし、.csvファイルに文字列と数字のみが含まれている場合は、ヘッダーファイルを変更するだけで十分です。

+1

現在のバージョンの 'mongoimport'は10進数をDouble –

関連する問題