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 只是将数据导入到集合,不会保留任何数据库结构。
相关推荐
KIDULT°8 小时前
MySQL系列 (1):数据库原理
运维·数据库·mysql·云计算
我不是程序员三三8 小时前
透明加密软件偶发解密异常排错实录:文件时能打开时乱码
数据库·域智盾
snhna8 小时前
向量数据库深度实战:从 HNSW 到 pgvector、Milvus 选型与 RAG 落地
数据库·人工智能·python·postgresql·milvus
天行健,君子而铎9 小时前
数据分类分级的范式转换:从规则匹配到场景化高准确率一键部署
网络·数据库·安全
别动我齐刘海9 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
牛战士coding9 小时前
MySQL 读写分离完整链路:主从复制、多数据源与 @DS 路由
数据库·mysql
goehou10 小时前
MCP 查数实战:让 LLM 安全地查数据库(只读账号、SQL 校验、参数漂移)
数据库·ai·llm·教程·mcp·function calling
我不会插花弄玉10 小时前
7.函数【由浅入深-MySQL】
android·数据库·mysql
周小董10 小时前
[1369]Windows上安装PostgreSQL
数据库·windows·postgresql
玖石书11 小时前
Ubuntu 24.04 UFW 全命令攻略:从入门到端口开放实战
linux·运维·ubuntu