docker中执行mongodb语句脚本文件

本文介绍如何使用mongoshell命令和docker工具进行MongoDB数据在Linux环境下的迁移,涉及脚本生成、文件复制及在Docker容器内的操作流程。
摘要由CSDN通过智能技术生成

前言: 我们常常需要把当前环境数据迁移到某个环境,特别是linux,比较麻烦,mongo支持的mongoshell命令行执行语句又只支持4000字符长度,所以记录一下迁移的流程

1. 从数据库中导出mongo脚本文件, 指定表

use you_table_name;
db.getCollection("xxx").insert({});
db.getCollection("xxx").update({});

2. 将导出的脚本文件放入虚拟机中

- 利用工具直接拉到虚拟机中,记住文件位置即可

3. 查询docker容器的id,用docker中运行mongo的容器名也可以

docker ps

 4. 复制文件到容器中,这里用的是容器名,可以换成容器id

docker cp 虚拟机中脚本文件路径以及文件名 容器名或者容器id:容器中脚本文件路径以及文件名

docker cp /root/mongo/***.js mongodb:/tmp/***.js

 5. 进入容器内部

docker exec -it 容器id /bin/bash

6. 不需要登录mongo, 在外面执行即可

mongo -u you_name -p you_password --authenticationDatabase admin table_name < 脚本文件名

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值