How to import dumped Mongodb?

YogiZoli picture YogiZoli · Nov 9, 2011 · Viewed 28.1k times · Source

Dumped a MongoDB successfully:

$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p

I need to import or export it to a testserver and have struggle with it, please help me figure out.

I tried some ways:

$ mongoimport -h host.com:port -c dbname -d dbname_test -u username -p
connected to host.
Password: ...

Gives this error:

assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 }

$ mongoimport -h host.com:port -d dbname_test -u username -p

Gives this error:

no collection specified!

How to specify which collection to use? What should I use for -d? What I'd like to upload or what I want to use as test out there? I would like to import the full DB not only collection of it.

Answer

dcrosta picture dcrosta · Nov 9, 2011

The counterpart to mongodump is mongorestore (and the counterpart to mongoimport is mongoexport) -- the major difference is in the format of the files created and understood by the tools (dump and restore read and write BSON files; export and import deal with text file formats: JSON, CSV, TSV.

If you've already run mongodump, you should have a directory named dump, with a subdirectory for each database that was dumped, and a file in those directories for each collection. You can then restore this with a command like:

mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/

Assuming that you want to put the contents of the database dbname into a new database called dbname_test.