Exemple d’importation et d’exportation MongoDB

Exemple d'importation et d'exportation de MongoDB

Dans ce tutoriel, nous vous montrons comment sauvegarder et restaurer MongoDB avec les commandes:mongoexport etmongoimport.

1. Sauvegarder la base de données avec mongoexport

Quelques exemples pour vous montrer comment utiliser lesmongoexport pour sauvegarder la base de données.

Passez en revue certaines des options d'utilisation courantes.

$ mongoexport
Export MongoDB data to CSV, TSV or JSON files.

options:
  -h [ --host ] arg         mongo host to connect to ( /s1,s2 for
  -u [ --username ] arg     username
  -p [ --password ] arg     password
  -d [ --db ] arg           database to use
  -c [ --collection ] arg   collection to use (some commands)
  -q [ --query ] arg        query filter, as a JSON string
  -o [ --out ] arg          output file; if not specified, stdout is used

1.1 Export all documents (all fields) into the file “domain-bk.json“.

$ mongoexport -d webmitta -c domain -o domain-bk.json
connected to: 127.0.0.1
exported 10951 records

1.2 Export all documents with fields “domain” and “worth” only.

$ mongoexport -d webmitta -c domain -f "domain,worth" -o domain-bk.json
connected to: 127.0.0.1
exported 10951 records

1.3 Export all documents with a search query, in this case, only document with “worth > 100000” will be exported.

$mongoexport -d webmitta -c domain -f "domain,worth" -q '{worth:{$gt:100000}}' -o domain-bk.json
connected to: 127.0.0.1
exported 10903 records

1.4 Connect to remote server like mongolab.com, using username and password.

$ mongoexport -h id.mongolab.com:47307 -d heroku_app -c domain -u username123 -p password123 -o domain-bk.json
connected to: id.mongolab.com:47307
exported 10951 records

Vérifiez le fichier exporté.

$ ls -lsa
total 2144
   0 drwxr-xr-x   5 example  staff      170 Apr 10 12:00 .
   0 drwxr-xr-x+ 50 example  staff     1700 Apr  5 10:55 ..
2128 -rw-r--r--   1 example  staff  1089198 Apr 10 12:15 domain-bk.json

Note
Avecmongoexport, tous les documents exportés seront au format json.

2. Restaurer la base de données avec mongoimport

Quelques exemples pour vous montrer comment utiliser lesmongoimport pour restaurer la base de données.

Passez en revue certaines des options d'utilisation courantes.

$ mongoimport
connected to: 127.0.0.1
no collection specified!
Import CSV, TSV or JSON data into MongoDB.

options:
  -h [ --host ] arg       mongo host to connect to ( /s1,s2 for sets)
  -u [ --username ] arg   username
  -p [ --password ] arg   password
  -d [ --db ] arg         database to use
  -c [ --collection ] arg collection to use (some commands)
  -f [ --fields ] arg     comma separated list of field names e.g. -f name,age
  --file arg              file to import from; if not specified stdin is used
  --drop                  drop collection first
  --upsert                insert or update objects that already exist

2.1 Imports all documents from file “domain-bk.json” into database.collection named “webmitta2.domain2”. Toutes les bases de données ou collections inexistantes seront créées automatiquement.

$ mongoimport -d webmitta2 -c domain2 --file domain-bk.json
connected to: 127.0.0.1
Wed Apr 10 13:26:12 imported 10903 objects

2.2 Imports all documents, insert or update objects that already exist (based on the _id).

$ mongoimport -d webmitta2 -c domain2 --file domain-bk.json --upsert
connected to: 127.0.0.1
Wed Apr 10 13:26:12 imported 10903 objects

2.3 Connect to remote server – mongolab.com, using username and password, and import the documents from the local file domain-bk.json into remote MongoDB server.

$ mongoimport -h id.mongolab.com:47307 -d heroku_app -c domain -u username123 -p password123 --file domain-bk.json
connected to: id.mongolab.com:47307
Wed Apr 10 13:26:12 imported 10903 objects