前言: 我们常常需要把当前环境数据迁移到某个环境,特别是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 < 脚本文件名