专业的编程技术博客社区

网站首页 > 博客文章 正文

浅谈在Linux中使用mongoexport工具导出数据

baijin 2024-09-17 12:01:19 博客文章 4 ℃ 0 评论

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",

pwd: "123456",

roles: [ { role: "root", db: "admin" } ]

}

);

./mongoexport -h 127.0.0.1 --port 27017 -u admin -p 123456

-d demo -c student -o data_stu1.json

测试成功

下一篇:MongoDB数据导入。

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表