MongoDB技巧:轻松复制整个数据库内容

for collection_name in db.list_collection_names():
    if not collection_name.startswith(('xx', 'yy')):
        old_collection = db[collection_name]
        # 如果集合不存在,会自动创建
        new_collection = new_db[collection_name]
        # 确保新集合是空的,如果存在则删除
        new_collection.drop()
        # 复制所有文档(使用 insert_many)
        docs = list(old_collection.find())
        if docs:  # 检查列表是否为空
            # 批量插入,比insert_one插入高效很多
            new_collection.insert_many(docs)
            print(f'{collection_name}')

你可能感兴趣的:(数据库,mongodb,python)