mongodbmongo-collection

How to copy a collection from one database to another in MongoDB


Is there a simple way to do this?


Solution

  • At the moment there is no command in MongoDB that would do this. Please note the JIRA ticket with related feature request.

    You could do something like:

    db.<collection_name>.find().forEach(function(d){ db.getSiblingDB('<new_database>')['<collection_name>'].insert(d); });
    

    Please note that with this, the two databases would need to share the same mongod for this to work.

    Besides this, you can do a mongodump of a collection from one database and then mongorestore the collection to the other database.