假设库里有一张user表,里面有2条记录,要将它导出
> use mydb switched to db my_mongodb > db.user.find() { "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 } { "_id" : ObjectId("4f844d1847d25a9ce5f120c4"), "uid" : 1, "username" : "Tom", "age" : 25 } > |
d:\mongodb\bin>mongoexport -d my_mongodb -c user -o user.dat connected to: 127.0.0.1 exported 2 records d:\mongodb\bin> |
参数说明:
-d 指明使用的库, 本例中为” mydb”
-c 指明要导出的表, 本例中为”user”
-o 指明要导出的文件名, 本例中为”user.dat”
从上面可以看到导出的方式使用的是JSON的样式
2. 导出CSV格式的文件
d:\mongodb\bin>mongoexport -d my_mongodb -c user --csv -f uid,username,age -o user_csv.dat connected to: 127.0.0.1 exported 2 records d:\mongodb\bin> |
-csv 指明要导出为csv格式
-f 指明需要导出哪些例
更详细的用法可以 mongoexport -help来查看
先将表user删除掉,然后导入数据
> db.user.drop(); true > show collections; system.indexes > |
1. 导入JSON数据
d:\mongodb\bin>mongoimport -d mydb -c user user.dat connected to: 127.0.0.1 imported 2 objects d:\mongodb\bin> |
可以看到导入数据的时候会隐式创建表结构
2. 导入CSV数据
d:\mongodb\bin>mongoimport -d mydb -c user --type csv --headerline --file user_csv.dat connected to: 127.0.0.1 imported 3 objects d:\mongodb\bin> |
参数说明:
-type 指明要导入的文件格式
-headerline 批明不导入第一行,因为第一行是列名
-file 指明要导入的文件路径
注意: CSV格式良好,主流数据库都支持导出为CSV的格式,所以这种格式非常利于异构数据迁移 |