MongoDB数据导出
MongoDB提供了mongoexport工具以支持将数据表进行导出。
mongoexport:
mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。
可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
具体用法所示:
./mongoexport --help
...
参数说明:
-h:指明数据库宿主机的IP。
-u:指明数据库的用户名。
-p:指明数据库的密码。
-d:指明数据库的名字。
-c:指明collection的名字。
-f:指明要导出那些列。
-o:指明到要导出的文件名。
-q:指明导出数据的过滤条件。
案例:
(1)、准备数据库、集合、测试数据等等
use demo;
//创建集合
db.createCollection("student")
//插入数据
db.student.insert({ name: 'kingdom', age: 18, sno: 20144550 })
//查看集合数据
db.student.find()
(2) 、导出json数据到文件中
新开一个终端
//cd到mongodb安装目录的bin下,mongoexport工具所在地
cd /general/mongodb-4.0/bin/
//执行命令
./mongoexport -d demo -c student -o data_stu.json
//输出结果
2019-01-30T14:31:43.076+0800connected to: localhost
2019-01-30T14:31:43.076+0800exported 4 records
补充:
-d:指明使用的库,本例中为demo
-c:指明要导出的集合,本例中为student
-o:指明要导出的文件名,本例中为students.json
查看data_stu.json文件
(3) 、导出CSV数据到文件中
如果我们需要导出CSV格式的数据,则需要使用--csv参数
如下所示:
./mongoexport -d demo -c student --csv -f name,age,sno -o data_stu.csv
补充:
--csv:指明要导出为csv格式。
-f:指明需要导出name、age、sno这3列的数据。
补充1:
port为默认,ip未绑定
如果小友们的配置文件port修改、ip设置了bind。
如下操作:
./mongoexport -h bind_ip --port port -d demo -c student -o data_stu1.json
-h:数据库所在主机地址(本地为127.0.0.1,远程则写为远程地址)
bind_ip:配置文件中的ip
port:配置文件中的port
补充2:
指定用户密码
如下操作:
./mongoexport -h bind_ip --port port -u admin -p 123456 -d demo -c student -o data_stu1.json
-u:指明数据库的用户名。
-p:指明数据库的密码。
综合测试
创建用户admin
db.createUser(
{
user: "admin