Skip to content

Instantly share code, notes, and snippets.

@DoZator
Last active October 24, 2024 11:30
Show Gist options
  • Save DoZator/324145c6fc62b2fa0cc35f38a227fb64 to your computer and use it in GitHub Desktop.
Save DoZator/324145c6fc62b2fa0cc35f38a227fb64 to your computer and use it in GitHub Desktop.
mongodump and mongorestore for MongoDB in docker

mongodump and mongorestore for mongodb in docker

mongodump

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongodump -d db_name --out /backup --host $MONGO_PORT_27017_TCP_ADDR'

Restore the Mongo database from a dump

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongorestore -d db_name /backup --host $MONGO_PORT_27017_TCP_ADDR'

Restore the Mongo database from a dump with auth

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongorestore -d db_name /backup --username some_name --password some_password --authenticationDatabase admin --host $MONGO_PORT_27017_TCP_ADDR'

Export to JSON

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongoexport --db db_name --collection col_name --out /backup/col_name.json --host $MONGO_PORT_27017_TCP_ADDR'

Export to valid JSON array

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongoexport --db db_name --collection col_name --out /backup/col_name.json --host $MONGO_PORT_27017_TCP_ADDR --jsonArray'

Export only 10 records from a collection

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongoexport --db db_name --collection col_name --limit 10 --out /backup/col_name.json --host $MONGO_PORT_27017_TCP_ADDR --jsonArray'

and import

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongoimport --db db_name --collection coll_name --file /backup/coll_name.json --host $MONGO_PORT_27017_TCP_ADDR'

Import as valid JSON array

    docker run --rm --link mongo_db:mongo -v /your_dir:/backup mongo:3.6 bash -c 'mongoimport --db db_name --collection coll_name --file /backup/coll_name.json --host $MONGO_PORT_27017_TCP_ADDR --jsonArray'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment