mongo数据库迁移

迁移工具下载

近期,公司涉及到mongodb 数据库迁移。
首先先下载迁移工具,mongodb-database-tools,我用的是windows的。
在这里插入图片描述
解压后,将该目录加入环境变量。

迁移命令

注意:mongo数据有密码的情况下加入 --authenticationDatabase admin

mongoexport导出

  mongoexport -d dbname -c collectionname -o file --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            -o :输出的文件名
            --type : 输出的格式,默认为json
            -f :输出的字段,如果-type为csv,则需要加上-f "字段名"

mongoimport导入

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
        参数说明:
            -d :数据库名
            -c :collection名
            --type :导入的格式默认json
            -f :导入的字段名
            --headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
            --file :要导入的文件

迁移小工具

本文基于python做了迁移小工具。

导出工具

import subprocess
def export(port: str, host: str, user: str, password: str, database: str, collection: str, file_name: str):
    """
    mongo导出工具
    :param port: mongo数据库端口
    :param host: mongo数据库ip
    :param user: mongo数据库用户名
    :param password: mongo数据库密码
    :param database: mongo数据库名
    :param collection: mongo数据库collection名
    :param file_name: mongo数据库文件名json格式
    :return: 是否成功0成功、1失败
    """
    cmd = f'mongoexport --port {port} --host {host} --username {user} --password {password} --db {database} --collection {collection} --type=json -o {file_name} --authenticationDatabase admin'
    compilePopEn = subprocess.Popen(cmd)
    compilePopEn.wait()
    return compilePopEn.returncode

导入工具

def mongo_import(port: str, host: str, user: str, password: str, database: str, collection: str, file_name: str):
    """
    mongo导入工具
    :param port: mongo数据库端口
    :param host: mongo数据库ip
    :param user: mongo数据库用户名
    :param password: mongo数据库密码
    :param database: mongo数据库名
    :param collection: mongo数据库collection名
    :param file_name: mongo数据库文件名json格式
    :return: 是否成功0成功、1失败
    """
    cmd = f'mongoimport --port {port} --host {host} --username {user} --password {password} --db {database} --collection {collection} --file {file_name} --authenticationDatabase admin'
    compilePopEn = subprocess.Popen(cmd)
    compilePopEn.wait()
    return compilePopEn.returncode
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西门废物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值