MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

PyMongo/Mongoengine setara dengan mongodump

Untuk database saya yang relatif kecil, saya akhirnya menggunakan solusi berikut. Ini tidak terlalu cocok untuk database besar atau kompleks, tetapi cukup untuk kasus saya. Itu membuang semua dokumen sebagai json ke direktori cadangan. Ini kikuk, tetapi tidak bergantung pada hal-hal lain selain 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. Bagaimana melakukan findAll di driver mongo C # baru dan membuatnya sinkron

  2. Hapus subdokumen yang bersarang dalam array di MongoDB

  3. Cassandra vs. MongoDB:mana yang harus Anda pilih

  4. Mengurutkan dalam MongoDB berdasarkan elemMatch

  5. MongoDB dan Robomongo:Tidak dapat terhubung (otentikasi)