このブログを検索

2013/02/06

TASK#1 MySQL -> mongodb

1. Export does User Data of MySQL in CSV.
( use "select * from table_name into outfile "path/to/export.csv" fields terminated by ',';)

2. I used "mongoimport".

CSV file
user_id, user_pw , name <- header
10, test_pw,名前1 <- row
20, test_pw,名前2 <- row

$ mongoimport --db bad_kpi --collection {CSV file name} --type csv --file {csv path} --headerline --upsert

in mongo
{"_id":ObjectID(xx1), "user_id":10, "user_pw":”test_pw”, ”name”:”名前1"}

{"_id":ObjectID(xx2), "user_id":20, "user_pw":”test_pw”, ”name”:”名前2"}

【参考】
(1)primary keyがひとつであれば”_id"に書き換えて出力するとmongoimportの--upsert だけで重複更新を防げる。
(2)更新されたデータのimportも--upsert を指定すると_idが一致するだけで更新される。

【注意点】
(1)CSVからのdate型のimportはやはり出来なかった。- ISODateを指定したらdateの文字になる。
−{"$date" : 111111111} はエラーとなる。
(2)ISODateの入力ができないから年月日をバラバラにしていれたら数字になった。
例)CSV -> mongodb
date_m : ”02” -> "date_m" : 2

0 件のコメント:

コメントを投稿