最近在做云平台评估的工作,给的原始数据其中有一部存在了mongo中,不能和mysql连表查询,所以需要将mongo数据转到mysql数据库中。
由于mong数据导出后都是json格式的,直接导入到mysql中是不可以的,所以需要把指定的字段导出。
进入mongo的bin目录
代码:mongoexport -d test -c students --csv -f classid,name,age -o students.txt
-d指明使用的库,我导出的是test
-c指明要导出的集合,我这里是students
-f 指明要导出的域/字段
-o指明要导出的文件名,我这是导出students.txt
如果导出的要按某个域/字段排序,需要使用--sor {'field':1} 可以是1或者-1,就是按正序或者倒序排序;按这个域排序输出前最好要先建索引,否则数据量大的话,很慢的。
例如mongoexport -d test -c students --csv -f classid,name,age --sort{'create_time':1} --limit 100 -o students.txt
如果要有条数限制,可以使用 --limit 20,来限制输出的条数。
导出的速度还可以,5.06G的文件,一分钟左右就导出完了,然后利用navicat工具导入到mysql中,分隔符选逗号,然后对应好字段,就可以导入了。
导入mysql速度也还行,一秒钟约一万条。