How to use mongodump for 1 collection

How can I use mongodump to move a single collection from one database to another?

How should I use the command and its options?


Solution 1:

I think it's just:

mongodump --db=<old_db_name> --collection=<collection_name> --out=data/

mongorestore --db=<new_db_name> --collection=<collection_name> data/<db_name>/<collection_name>.bson

Also see docs here and here.

Btw, the other way to move the collection from one database to another is to use renameCollection:

db.runCommand({renameCollection:"<old_db_name>.<collection_name>",to:"<new_db_name>.<collection_name>"})

Here's some related SO threads:

  • How to copy a collection from one database to another in MongoDB
  • How to use the dumped data by mongodump?

Hope that helps.

Solution 2:

Taking database (document) dump (backup)

mongodump --host <hostname-of-mongoserver> --db <db-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>

Taking collection dump (backup)

mongodump --host <hostname-of-mongoserver> --db <db-name> --collection <collection-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>

mongodump documentation