MongoDB is one of the most
popular NoSQL database engines. Managing MongoDB production environment requires
back it up, restore data, etc. In case of converting MongoDB to SSL, move
data from MongoDB on one server to another server, we can use import/export or
backup/restore.
Importing and exporting a
database means dealing with data in a human-readable format, compatible with
other software products. In contrast, the backup and restore operations create
or use MongoDB-specific binary data, which preserves not only the consistency
and integrity of your data but also its specific MongoDB attributes. Thus, for
migration its usually preferable to use backup and restore as long as the
source and target systems are compatible.
Import/export:
MongoDB uses json and bson (binary json) formats for storing its information.
Json is the human-readable format which is perfect for exporting and,
eventually, importing your data.Json does not
support all the data types available in bson and there will be the so called
'loss of fidelity' of the information.
Export:
sudo mongoexport --db mydb -c collections--out
newdbexport.json
2019-05-06T15:47:30.931-0700 connected to:
localhost
2019-05-06T15:47:31.931-0700
[........................]
mydb .collections 0/10234
(0.0%)
2019-05-06T15:47:32.932-0700
[#######.................]
mydb .collections 6100/10234
(31.5%)
2019-05-06T15:47:33.827-0700
[########################]
mydb .collections 10234/10234
(100.0%)
2019-05-06T15:47:33.828-0700 exported 10234
records
Import:
sudo mongoimport --db mydb --collection collection --file
newdbexport.json
While importing json file,you
don't have to worry about explicitly creating a MongoDB database. If the
database you specify for import doesn't already exist, it is automatically
created. In MongoDB the structure is automatically created upon the first
document (database row) insert.
Backup/Restore:
Importing your data. using export/import json file have possibility of 'loss of fidelity' of the information.J son does not support all the data types available in bson and tit is advised to use
Backup:
Dump a collection to a BSON file.
mongodump -h hostname -d dbname-c collectionname-o
If you want to dump all collections in one go, simply omit
the "-c collectionname"
argument in the invocation below.
mongodump -h hostname -d dbname-c collectionname-o
Restore:
For restoring MongoDB we'll be using the command mongorestore
which works with the binary backup produced by mongodump.
mongorestore -d mydb /root/dump/mydb/collections.bson
Use with --drop to make sure that the target database is
first dropped so that the backup is restored in a clean database.
sudo mongorestore --db newdb --drop
/var/backups/mongobackups/01-20-16/newdb/
mongorestore -d mydb /root/dump/mydb/collections.bson
2019-05-06T15:43:26.403-0700 checking for
collection data in /root/dump/mydb/collections.bson
2019-05-06T15:43:26.435-0700 reading
metadata for mydb.collections from /root/dump/mydb/collections.metadata.json
2019-05-06T15:43:26.452-0700 restoring
mydb.collections from /root/dump/mydb/collections.bson
2019-05-06T15:43:27.280-0700 restoring
indexes for collection mydb.collections from metadata
2019-05-06T15:43:27.284-0700 finished
restoring mydb.collections (10234 documents)
2019-05-06T15:43:27.284-0700 done
root@ubuntu:~#
Verify
the Collections Exists