您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

PyMongo / Mongoengine等价于mongodump

PyMongo / Mongoengine等价于mongodump

对于相对较小的小型数据库,我最终使用了以下解决方案。它并不真正适用于大型数据库或复杂数据库,但足以满足我的情况。它将所有文档作为json转储到备份目录。它笨拙,但是除了pymongo之外,它不依赖其他任何东西。

from os.path import join
import pymongo
from bson.json_utils import dumps

def backup_db(backup_db_dir):
    client = pymongo.MongoClient(host=<host>, port=<port>)
    database = client[<db_name>]
    authenticated = database.authenticate(<uname>,<pwd>)
    assert authenticated, "Could not authenticate to database!"
    collections = database.collection_names()
    for i, collection_name in enumerate(collections):
        col = getattr(database,collections[i])
        collection = col.find()
        jsonpath = collection_name + ".json"
        jsonpath = join(backup_db_dir, jsonpath)
        with open(jsonpath, 'wb') as jsonfile:
            jsonfile.write(dumps(collection))
mongodb 2022/1/1 18:48:31 有571人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶