Mongorestore don't know what to do with file "db/collection.bson", skipping

Mongodb

Mongodb Problem Overview


I want to migrate my mongodb from 2.0 to 3.0. So I followed the official doc to use mongodump to backup my dbs and use mongorestore to restore the dbs to mongodb 3.0.

But when I use mongorestore, it tells me "don't know what to do with file "db/collection.bson", skipping...".

Nothing to do. How could I migrate my dbs?

Thanks.

EDIT: Here is my steps.

Use mongodump in mongodb 2.0

mongodump
tree dump
    db
    ├── collection-1.bson
    ├── collection-2.bson
    ├── collection-3.bson
    ├── ...

Copy db directory to mongodb 3.0 server.

On the mongodb 3.0 server calls mongorestore db

But I get this error:

mongorestore db
2015-03-10T09:36:26.237+0800	building a list of dbs and collections   to restore from db dir
2015-03-10T09:36:26.237+0800	don't know what to do with file "db/collection-1.bson", skipping...
2015-03-10T09:36:26.237+0800	don't know what to do with file "db/collection-2.bson", skipping...
2015-03-10T09:36:26.237+0800	don't know what to do with file "db/collection-3.bson", skipping...
...
2015-03-10T09:36:26.237+0800	done

Mongodb Solutions


Solution 1 - Mongodb

It seems one must also specify -d in 3.0 like this:

mongorestore -d db db

Solution 2 - Mongodb

This answer isn't directly related to your issue case, but the same error output you will receive trying to restore mongo data, dumped with --archive option, available since MongoDB 3.2 version. To resolve this you need to specify --gzip parameter in your mongorestore command. Example:

mongorestore -d destination_db --gzip /path/to/source/db

Solution 3 - Mongodb

If you have lost your mongoDb just try running this command:

mongorestore -d destination-db --gzip source-db

Where:

  • destination-db is the name of the destination database
  • source-db is the name of the source database.

Solution 4 - Mongodb

Try this one.

mongorestore -db dataBaseName dataBasePath

Solution 5 - Mongodb

In order to import data to your mongodb ,You need to specify --db configuration in mongorestore function with name and path, this works for me for bson and json files as well:

mongorestore --db <dbName> <dbPath>

check the data was imported properly using mongo cli

mongo
show databases
use <dbName>
show collections

Solution 6 - Mongodb

With mongorestore, the path of those dump files is a required parameter; you've got that right so far, by indicating db.

It is also a good idea as Peter has said to indicate a database to restore the dump files into collections with a /d switch.

Something I didn't realize while struggling with this is that a mongod must be running to consume the restoration. If you have more than 1 mongod running, you should definitely indicate a port with the --port switch. The code that worked for me was:

mongod --dbpath config --port 27019 --logpath log.config --logappend

And in another CLI:

mongorestore --port 27019 /d config config

followed by

mongo localhost:27019/config

to verify that the collections were filled properly.

Solution 7 - Mongodb

Please Follow these intstructions it worked for me

  • First go to command prompt .
  • run cd C:\Program Files\MongoDB\Server\3.0\bin .
  • now ,For suppose your data is in a folder called trading and it contains json files .
  • and the path for that might be c:\Users\documents\trading.
  • (mongorestore -d dbName dbPath).
  • now run mongorestore -d trading c:\Users\documents\trading.
  • your files will be restored.

Solution 8 - Mongodb

You want to run mongorestore on the dump directory, not the db/ directory.

mongorestore  dump/

Solution 9 - Mongodb

Not directly related to your situation but someone could stumble upon this post with similar error for this reason

In my case, the data was provided to me and had been dumped using

mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}

To restore, you must use following format:

mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFeng YuView Question on Stackoverflow
Solution 1 - MongodbPeterView Answer on Stackoverflow
Solution 2 - MongodbArtem DolobankoView Answer on Stackoverflow
Solution 3 - MongodbAmit Kr.View Answer on Stackoverflow
Solution 4 - MongodbAnkit Kumar RajpootView Answer on Stackoverflow
Solution 5 - MongodbavivamgView Answer on Stackoverflow
Solution 6 - MongodbMatthew BeckView Answer on Stackoverflow
Solution 7 - MongodbRohan DevakiView Answer on Stackoverflow
Solution 8 - MongodbShashwat GuptaView Answer on Stackoverflow
Solution 9 - MongodbMuhammad AsadView Answer on Stackoverflow