Barcelona Code School

Just coding, no nonsense / Est. 2015

Cloning / restoring / migrating MongoDB with mongodump

There is an easy way to migrate MongoDB database between different hosts. Sometimes we might need it for example in case of:

  • moving db from local database to the remote
  • creating a backup copy of the db "freezing" all the content we have to be able to restore at some time
  • getting the production db and moving to local server for some testing, development, etc..

And any other possible case you might think about.

With mongodump it's only 2 simple steps.

First you will need to install mongodump for your platform: https://www.mongodb.com/docs/database-tools/mongodump/

Then first step is to create the dump:

mongodump --uri='URLOFMONGO'

'URLOFMONGO' is URL you are using to connect your app to MongoDB -- either local like let's say mongodb://127.0.0.1/ourDatabase or remote like mongodb+srv://yourSuperApp:superSecretPassword@cluster0.wxtxjy6.mongodb.net/superAppDB

It will save the dump – the whole content of your database – in the dump folder in the current folder from there the command was executed.

Inside dump folder you would see the folder with the name of the DB - it's the one you would like to use to restore.

To restore:

mongorestore --uri='URL_OF_MONGODB' -d NAME_OF_DB_TO_PUT_DATA_INTO FOLDER_WITH_DUMP

such as

mongorestore --uri='mongodb://127.0.0.1' -d winemind dump/Winemind

Now we moved data from remote DB called Winemind to localhost DB named winemind

The end :)

Back to posts