MongoDB集合数据备份导入导出

如果你想备份MongoDB数据库中集合的数据,可以通过MongoDB提供的导入导出程序实现,如果你想把本地MongoDB的集合数据复制到阿里云或其他电脑上的MongoDB数据库,同样可以通过MongoDB的导入导出程序实现。

打开MongoDB安装位置bin文件C:\Program Files\MongoDB\Server\4.2\bin,可以看到一些工具应用程序。

MongoDB导入导出

通过mongoexport.exe可以把数据库中某集合中的数据整体导出为一个文件进行备份,通过mongoimport.exe你可以把mongoexport.exe导出的文件导入到任何一个数据库中。

程序工具 功能
mongoexport.exe 导出集合数据
mongoimport.exe 导入集合数据

导出数据库集合mongoexport

//导出集合命令行。
// mongoexport -h 远程连接的数据库地址 -d 数据库名称 -c 集合名称 -o 导出地址
mongoexport -h 127.0.0.1 -d data -c goods -o D:\MongoDB\goods.json
缩写 命令 含义
-h host 远程连接的数据库地址,MongoDB默认是本地localhost,也就是127.0.0.1
-d data 导出集合所在的数据库名称
-c collection 要导出集合的集合名称
-o out 文件输出路径和输出文件名称

如果MongoDB配置了全局变量,直接执行mongoexport -h 127.0.0.1 -d....命令行就可以,如果没有配置全局变量,先在命令行中进入你的bin目录(我的默认地址是C:\Program Files\MongoDB\Server\4.2\bin),然后执行导入或导出命令。

bindIp非默认值127.0.0.1

-h对应的值具体点说就是\MongoDB\Server\4.2\bin\mongod.cfg目录下mongod.cfg文件bindIp对应的IP地址,MongoDB默认值情况下bindIp是127.0.0.1,如果你修改过mongod.cfg文件中bindIp对应的IP地址,导出命令中-h对应值请以修改后为准。

//mongod.cfg默认
net:
  port: 27017
  bindIp: 127.0.0.1

数据库有密码

如果你的数据库设置了账号和密码,使用命令行mongoexport...的时候需要设置账号名称和密码。

mongoexport -h 127.0.0.1 -d data -c goods -o -u 用户名 -p 密码 D:\MongoDB\goods.json
缩写 命令 含义
-u username 远程连接MongoDB数据库的账号名称
-p password 账号对应的密码

数据库导入集合

MongoDB导出的集合文件,可以导入到其它数据库中,通过导入可以完成数据库中集合数据的整体迁移。

//mongoimport -h IP地址:端口号 -d 数据库名称 -c 集合名称 -u 用户名 -p 密码 --type 文件扩展名 --file 需要导入的文件路径和名称
mongoimport -h 127.0.0.1:27017 -d data -c goods -u username -p 123456 --type json --file C:\file\import\goods.json