美文网首页
mongo复制集合

mongo复制集合

作者: 奈斯凸米特 | 来源:发表于2019-10-08 17:49 被阅读0次

将一个数据库中的某个集合复制到另一个数据库的集合中,原数据集合仍保留

"""
将一个数据库中的某个集合转移到另一个数据库的某个集合中(可跨数据库,原数据库集合仍保留)
"""
import pymongo
import traceback


def first_db_datas():
    # 第一个数据库
    ip_1 = input('请输入要转移的数据库ip:')
    client_1 = pymongo.MongoClient('mongodb://%s:27017' % ip_1)
    # 这里该数据库需要验证
    if ip_1 == '192.168.0.123':
        client_1['admin'].authenticate('用户名', '密码')
    print(client_1.list_database_names())
    db_name_1 = input('请输入要转移的数据库名:')
    db_1 = client_1[db_name_1]
    col_li = db_1.collection_names()  # 打印出该库下所有的集合
    print(col_li)
    collection_name_1 = input('请输入要转移的集合名:')
    while True:
        if collection_name_1 in col_li:
            break
        else:
            collection_name_1 = input('没有这个数据库,请重新输入:')
    collection_1 = db_1[collection_name_1]

    return collection_1.find()


def second_db(datas):
    # 第二个数据库
    ip_2 = input('请输入目标数据库ip:')
    client_2 = pymongo.MongoClient('mongodb://%s:27017' % ip_2)
    db_name_2 = input('请输入目标数据库名:')
    db_2 = client_2[db_name_2]
    if ip_2 == '192.168.0.123':
        db_2.authenticate(name='用户名', password='密码', source='admin')
    collection_name_2 = input('请输入目标集合名(如果没有则创建):')
    collection_2 = db_2[collection_name_2]
    print('正在转移...')
    # 存入数据
        try:
        collection_2.insert_many(datas)
    except:
        print('程序出现如下错误,请检查!!!')
        print('*' * 10 + ' 错误信息 ' + '*' * 10)
        print(traceback.format_exc())
        print('*' * 26)
    else:
        print('转移完成!')


if __name__ == '__main__':
    datas = first_db_datas()
    second_db(datas)

相关文章

  • mongo复制集合

    将一个数据库中的某个集合复制到另一个数据库的集合中,原数据集合仍保留

  • Docker-Mongo

    1、拉取Mongo镜像 2、创建挂载目录 3、运行mongo 直接复制

  • MongoDB权威指南学习笔记(3)--复制和分片

    Mongo 复制和分片 创建副本集 建立副本集 使用mongo --nodb选项启动mongo shell,启动s...

  • MongoDB:常用命令及与Spring集成

    基本概念 Mongo DB: database - collection(集合) - document(文档) -...

  • mongodb复制集群

    Mongodb的复制功能: Mongodb的复制架构: Mongo的数据同步类型: 主从复制选项: 选举机制: m...

  • mongo复制集修改复制集名称

    master中将除自己以外的members都移除 mongo配置文件去掉复制集名字,重启mongo pkill m...

  • Meteor API Collections

    流星将数据存储在集合中。 首先,使用新的Mongo.Collection声明一个集合。 集合的名称。 如果为nul...

  • 固定集合

    mongo支持创建固定集合,固定集合要事先创建,并且大小固定。 固定集合不支持删除文档,并且更新不得导致文档移动。...

  • jupyter-mongo

    使用mongo 进去 使用那些db,collection 创建新表 复制新表复制的时候很慢 注意事项! jupyt...

  • mongoDB应用篇-mongo聚合查询

    上篇我们学习了MongoDB中的一些特殊集合,如TTL集合与固定大小的集合,特殊的索引-文本索引,以及mongo的...

网友评论

      本文标题:mongo复制集合

      本文链接:https://www.haomeiwen.com/subject/bafipctx.html