前言

提示:使用MongoDB 自带的导出命令进行导出数据 mongoexport (按数据库导出)

MongoDB 平时查询使用 Robo 3T软件进行查询很方便,但是无法实现批量导出数据, 本文介绍了如何使用 MongoDB 的 mongoexport 命令进行导出;
笔者亲身试验这个过程,此处做个总结分享给大家,有问题请指点。


话不多数,上干货

一、安装 MongoDB 数据库 和 数据库工具

1.安装 MongoDB 数据库

请下载MongoDB数据库工具 (免费的)MongoDB官网
可以选择 MongoDB Enterprise Server 下载 msi 安装包
在这里插入图片描述
安装过程 略...

2.安装 MongoDB 命令

下载 MongoDB 数据库工具 软件传送门
在这里插入图片描述
安装过程 略...
不清楚安装过程 安装帮助文档传送门

二、使用步骤

1.使用 Windows 运行 cmd

MongoDB 数据库 一般安装在 C:\Program Files\MongoDB\Server\5.0\bin ,运行 mongoexport 命令必须在安装目录下运行

安装版本不同,安装目录可能不同,请自行更改

跳转到安装目录,代码如下(示例):

cd C:\Program Files\MongoDB\Server\5.0\bin 

2. mongoexport 使用

官方文档入口
常用的命令参数:

--host(或者-h):指定链接数据库的ip:port
-u:用户名
-p:密码
-authenticationDatabase:指定
-d:db名称
-c:集合名称
-o:指定输出文件名
-q:指定查询语句,相当于筛选输出
--type:导出文件的格式
--fields:导出文件格式为CSV时需要指定导出的列名(逗号分割)

登录并导出数据库: LogsDB 表: UrlAccessLog 并导出数据到 CSV文件中 D:\UrlAccessLog.csv

mongoexport -h=192.168.***.***:7777 -u=usertest -p=123123 --authenticationDatabase=admin -d=LogsDB -c=UrlAccessLog --type=csv --fields=receiveTime,actionMapUrl,actionName -o D:\UrlAccessLog.csv

增加过滤条件 -q (有点坑, 注意引号)
过滤UrlAccessLog 表中, 接口名字为 (接口1,接口2,接口3)的数据 导出,
这里使用了 $or 条件 进行过滤

mongoexport -h=192.168.***.***:7777 -u=usertest -p=123123 --authenticationDatabase=admin -d=LogsDB -c=UrlAccessLog --type=csv --fields=receiveTime,actionMapUrl,actionName -q "{\"$or\":[{\"actionName\":\"接口1\"},{\"actionName\":\"接口2\"},{\"actionName\":\"接口3\"}]}" -o D:\UrlAccessLog.csv

总结

导出命令,可以一次性在文本中编辑多行, 中间隔好 换行, 然后一次性贴到 cmd 运行窗口中,即可一次导出多个表;
使用 -q 命令参数时, 已经要注意 引号,类似于拼接SQL语句的写法。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐