mongodb 数据迁移

今天有个需求,将测试环境的有些配置从测试环境的mongo迁移到线上环境。
首先想到类似mysql的办法,使用可视化工具进行操作,但是发现RoboMongodb不支持,在网上查了查也没有找到有合适的工具。
在搜索的过程中,找到mongodb有自己写好的轮子,不用再造轮子了。
mongodump 备份命令 生成json bson
json 是表结构
bson 是表数据
具体命令:

./bin/mongodump -u root -p xxx --port 28002 
--authenticationDatabase=admin -d test -c student  
-q '{name:{$regex:"P"}}' -o ./test/

具体解释一下参数:

  • -u 用户名
  • -p 密码
  • -port 端口号
  • -d 库名
  • -c colletion name
  • -q 条件
  • -o 输出的路径

说一下遇到的坑,需求的条件为多个条件,但是发现不太支持,也可能是自己写的问题,后来将多个拆成多个条件,逐一处理。还有说一下为什么不能用接口调用,个人理解,以为由于环境的不同在代码中只能将数据暂时放到文件中,然后在进行解析,这样实在太麻烦了。
好,继续现在数据已经导出了,下面进行导入。

./bin/mongorestore -u root -p xxx --port 28002  --authenticationDatabase admin -d test1 -c test ./test/test/student.bson

同样解释一下参数
- -u -p -port -d -c 同上配置
- 最后的参数为bson的路径

mongorestore上面的命令是将数据进行添加不会对,原始数据造成影响。
同时需要更多参数,请使用 - -help

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值