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

news/2024/8/31 2:56:51 标签: 数据库, linux, 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 只是将数据导入到集合,不会保留任何数据库结构。

 


http://www.niftyadmin.cn/n/5561154.html

相关文章

AI发展除了带来失业,还带来了不少副业兼职,一键无脑生成,月入1W+

前言 今天,我想和大家分享一下在当前经济下行、就业压力加大的背景下,个人如何利用AI技术开展副业,实现月入过万。 近年来,AI技术的发展虽然带来了不少就业岗位的流失,但同时也为我们提供了许多新的副业机会。今天我…

STM32MP135裸机编程:烧录程序到EMMC的方法

0 前言 STM32MP135支持多种启动方式,包括SD卡、NAND Flash、EMMC等,基于STM32MP135裸机的SD卡烧录操作方法我们之前已经介绍过,现在介绍的STM32MP135烧录到EMMC的方法又和前面烧录到SD卡的操作有所不同。本文将介绍基于STM32MP135&#xff0…

【STM32开发笔记】搭建VSCode+PyOCD的STM32开发环境

【STM32开发笔记】搭建VSCodePyOCD的STM32开发环境 一、安装软件1.1 安装STM32CubeMX1.2 安装VSCode1.3 安装Arm GNU Toolchain1.4 安装Make for Windows1.5 安装Python1.6 安装PyOCD 二、安装插件2.1 VSCode插件2.2 PyOCD支持包 三、创建项目3.1 创建STM32CubeMX项目3.2 查阅原…

捷配总结的SMT工厂安全防静电规则

SMT工厂须熟记的安全防静电规则! 安全对于我们非常重要,特别是我们这种SMT加工厂,通常我们所讲的安全是指人身安全。 但这里我们须树立一个较为全面的安全常识就是在强调人身安全的同时亦必须注意设备、产品的安全。 电气: 怎样预…

使用 git 和 GitHub 互动

本文根据《GitHub入门与实践》整理 创建账户 要想使用GitHub那就必须先有GitHub账号,账号自行注册,不作介绍。 本地生成 SSH Key SSH 提供了一种安全的方式来通过不安全的网络进行通信。当你使用SSH key连接到GitHub时,你的身份是通过密钥对(一个公钥和一个私钥)来验…

Kubernetes 运维思考 —— 筑梦之路

一、Kubernetes 架构的深度洞察 🔍 Kubernetes 的架构犹如一座精心设计的城堡🏰,各个组件协同工作,共同保障容器化应用的顺利运行。 控制平面(Control Plane) 控制平面是 Kubernetes 的大脑🧠&…

【CICID】GitHub-Actions-SpringBoot项目部署

[TOC] 【CICID】GitHub-Actions-SpringBoot项目部署 0 流程图 1 创建SprinBoot项目 ​ IDEA创建本地项目,然后推送到 Github 1.1 项目结构 1.2 Dockerfile文件 根据自身项目,修改 CMD ["java","-jar","/app/target/Spri…

如何使用FlowUs快速构建专业领域知识网络是一个系统化的过程,旨在整合和组织一个特定领域的信息和知识点

在这个信息爆炸的时代,快速构建知识网络就像是在浩瀚的知识海洋中搭建一座灯塔,指引我们前行的方向。它不仅帮助我们系统化地整理和理解复杂的信息,还能让我们在专业领域内更快速地成长和进步。 当你面对一个全新的项目或挑战时,…