MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

PyMongo/Mongoengine odpowiednik mongodump

W przypadku mojej stosunkowo małej bazy danych ostatecznie zastosowałem następujące rozwiązanie. To nie jest odpowiednie dla dużych lub złożonych baz danych, ale w moim przypadku jest wystarczające. Zrzuca wszystkie dokumenty jako json do katalogu kopii zapasowej. Jest niezgrabny, ale nie opiera się na innych rzeczach niż 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. MongoDB $przełącznik

  2. Co to jest polecenie db.collection.stats() w manguście?

  3. MongoDB $strLenCP

  4. Wartość daty i godziny MongoDB nie jest poprawnie przechowywana

  5. Odpytywanie Morphii przez Id