一.导出
Mongodb中的mongoexport工具可以把一个 collection导出成JSON格式或者CSV格式的文件.
可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.运行:mongoexport –help 获取详细的参数用法.
D:\mongodb\bin>mongoexport --help
参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导出那些列
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件
1.导出默认(JSON)格式的文件
命令:bin/mongoexport -d test -c students -o students.bat
这时会在monodb/bin目录下生成 students.bat文件
2.导出CSV文件
命令:mongoexport -d test -c students --type csv -f first,info -o students.dat
参数说明:
-csv:指明要导出为csv格式
-f:指明需要导出classid、name、age这3列的数据
由上面结果可以看出,mongoexport成功地将数据根据csv格式导出到了students_csv.dat文件中。
例子:
有如下 > db.kettle4.find()
{ "_id" : ObjectId("55877ffed818d205478654f9"), "first" : "Bob",
"info" : [ { "last" : "Jones ", "address" : "Bob Street" } ], "ag : 25 }"_id" : ObjectId("55877ffed818d205478654fa"), "first" : "Fred",``"info" : [ { "last" : "Flintstone", "address" : "Beetlejuice " } ], "age{ "_id" : ObjectId("55877ffed818d205478654fb"), "first" : "Zhang",
"info" : [ { "last" : "san", "address" : "深圳" } ], "age" : 20 }
现要导出first,info字段数据为csv文件
这时候,可以查看mongodb/bin目录里,有kettle_csv.bat文件生成:
kettle_csv.bat文件内容如下图:
二.导入
mongoDB中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的Collection中;
该工具可以导入JSON格式数据,也可以导入CSV格式数据
1.导入JSON格式的文件中的内容
mongoimport -d test -c students students.dat
参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字 students.bat要导入的文件名
2.导入CSV文件内容
先删除某个集合中的数据 如kettle5
> db.kettle5.remove({});
WriteResult({ "nRemoved" : 3 })
> db.kettle5.find();
将上面导出的CSV文件导入集合kettle5
D:\mongodb\bin> mongoimport -h 127.0.0.1 -d test -c kettle5 --type csv --headerline -file kettle_csv.bat
connected to: 127.0.0.1
2015-06-23T22:42:16.848+0800 imported 3 objects
注;–type csv不能少
–headerline 不能少
参数说明:
–type 指明要导入的文件格式
–headerline 指明第一行是列名,不需要导入
–file 指明要导入的文件