需求介绍:将mongodb中的数据以文件的方式导出:json或cvs格式
mongo 提供了mongoexport的工具,可以实现将库中的数据以json或cvs的格式输出到文件中。mongoexport位于mongo安装位置中的bin/目录下。
mongoexport具体用法如下所示:
1. 使用help查看参数说明


2. 用例说明:
将info库中student的所有信息以json格式导出到student_json.dat数据文件中
输出:


将info库中student的id,name信息以json格式导出到student_json.dat数据文件中,并且限定“行数”是1
将info库中student的所有信息以cvs格式导出到student_cvs.dat数据文件中
将info库student“表”的name=张三的信息以cvs格式导出到student_cvs.dat数据文件中
注意:
a. --type=json 只是控制每一条“记录”是json格式,而整体的输出文件不是json 。如果想要控制整体的文件数据格式是json数组,则需要使用--jsonArray 参数控制
扩展:
导入工具mongoimport
Mongodb中的mongoimport工具可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式数据。具体使用如下所示:


参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-f:指明要导入那些列
示例:先删除students中的数据,并验证
> db.students.remove()
> db.students.find()
>
然后再导入上面导出的students.dat文件中的内容
-d:指明数据库名,本例中为test
-c:指明collection名,本例中为students
students.dat:导入的文件名
查询students集合中的数据


证明数据导入成功
上面演示的是导入JSON格式的文件中的内容,如果要导入CSV格式文件中的内容,则需要通过--type参数指定导入格式,具体如下所示:
先删除数据
再导入之前导出的students_csv.dat文件
-type:指明要导入的文件格式
-headerline:指明第一行是列名,不需要导入
-file:指明要导入的文件
查询students集合,验证导入是否成功:











说明已经导入成功