MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

PyMongo / Mongoengine tương đương với mongodump

Đối với cơ sở dữ liệu nhỏ tương đối nhỏ của tôi, cuối cùng tôi đã sử dụng giải pháp sau. Nó không thực sự phù hợp với cơ sở dữ liệu lớn hoặc phức tạp, nhưng nó đủ cho trường hợp của tôi. Nó kết xuất tất cả các tài liệu dưới dạng json vào thư mục sao lưu. Nó lắt léo, nhưng nó không dựa vào những thứ khác ngoài 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))


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm thế nào để kết nối chính xác với cụm Atlas M0 (Bậc miễn phí) thông qua trình điều khiển Java?

  2. Cách định cấu hình cổng mới cho mongodb

  3. mongodb hiệu suất kém

  4. Trong Mongo sự khác biệt giữa sharding và replication là gì?

  5. Sự khác biệt của mongoose và mongoJS là gì? Tôi nên sử dụng cái nào?