Linux环境下dockes使用MongoDB,上传zip文件如何解压并备份恢复到MongoDB数据库中

1、准备 Docker 和 MongoDB 容器 建议主机端口改一下

复制代码
docker run --name mongodb -d -p 27018:27017 mongo

2. 创建一个工作目录并将 zip 文件上传到dockers容器中

复制代码
docker cp data.zip mongodb:/data.zip

3. 在 MongoDB 容器中解压 zip 文件(也可以解压完再复制到容器里先步骤3再步骤2)

接下来,进入 MongoDB 容器的 shell 环境,并在其中解压 data.zip 文件。首先,使用以下命令进入容器的 shell:

复制代码
docker exec -it mongodb bash

在容器内部,执行以下命令解压 data.zip 文件:

复制代码
unzip /data.zip -d /data

假设 data.zip 包含的文件会被解压到 /data 目录下。

4. 使用 mongoimport 导入数据到 MongoDB

现在你可以使用 mongoimport 工具将解压后的数据导入到 MongoDB 中。在 MongoDB 容器内执行以下命令:

复制代码
mongoimport --db your_database --collection your_collection --file /data/your_data_file.json --jsonArray

这里假设 your_data_file.json 是你解压后得到的 JSON 数据文件,your_database 是目标数据库的名称,your_collection 是目标集合的名称。根据实际情况调整这些参数。

5.使用mongorestore导入数据到 MongoDB(步骤四五根据自己需求来写)

在 MongoDB 容器内执行以下命令:

复制代码
mongorestore --db flash-waimai /path/to/elm_backup/

总结区别

  • 功能mongorestore 用于整体数据库的备份恢复,而 mongoimport 则用于单独集合的数据导入。
  • 操作对象mongorestore 操作的是数据库级别的备份数据,而 mongoimport 操作的是文件中的数据记录。
  • 数据结构mongorestore 保留了备份时的数据库结构和索引,而 mongoimport 只是将数据导入到集合,不会保留任何数据库结构。
相关推荐
轻松Ai享生活1 分钟前
一步步深入学习Linux Process Scheduling
linux
····懂···5 分钟前
攻克PostgreSQL专家认证
数据库·postgresql
每天都在想吃啥22 分钟前
day31 SQLITE
数据库·sqlite
绵绵细雨中的乡音2 小时前
网络基础知识
linux·网络
Peter·Pan爱编程2 小时前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20133 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5493 小时前
DVWA中级
linux
m0_748254093 小时前
2025最新华为云国际版注册图文流程-不用绑定海外信用卡注册
服务器·数据库·华为云
清风6666663 小时前
基于51单片机自动浇花1602液晶显示设计
单片机·嵌入式硬件·mongodb·毕业设计·51单片机·课程设计
大新屋3 小时前
MongoDB 分片集群修改管理员密码
数据库·mongodb