How to get mongodb schema dump

You need to use mongorestore... which is used for things like importing json, or csv, etc.

You can read more about mongorestore in the docs below; I'd take a look and read up on them as they are very helpful.

http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongorestore

You can also check out http://learnmongo.com for tips and help! or you can visit the links

How to use the dumped data by mongodump? hope this may be helpful for you.


Here's how I did it:

mongodump --uri="mongodb://localhost/mydb" -o ./mydb-dump
find ./mydb-dump -name *.bson -exec truncate -s 0 {} \;

Explanation: I'm dumping the whole database, then truncating all the .bson files (which hold collection data) to zero bytes.

Limitation: Obviously, this is only practical if the source database is small, otherwise you're generating a huge data dump only to throw away most of it.

To restore this-

mongorestore --uri="mongodb://some-other-server/mydb" ./mydb-dump

If there's a better way to do this, I'd love to know what it is!


MongoDB is an NoSQL Database.

There is no fixed schema for any collection, so there are no functions available in mongo shell to find the collection schema.

Fixed Schema is applicable for RDBMS databases. In NoSQL DB, such as mongodb it is not required, but you can enforce same schema using your implementation logic, if required.

A document in a same collection, can be of different schema's. Please see example below

db.mycollection.insert([ 
{ "_id":1, "name":"A"}, 
{ "_id":2, "name":"CD", "age":29}, 
{ "_id":3, "name":"AB", "age":28}, 
{ "_id":4, "name":"ABC", "age":27, "emailId":"[email protected]"}, 
{ "_id":5, "name":"ABCD", "age":29, "emailId":"[email protected]"}]);

db.mycollection.find();

{ "_id" : 1, "name" : "A" }
{ "_id" : 2, "name" : "CD", "age" : 29 }
{ "_id" : 3, "name" : "AB", "age" : 28 }
{ "_id" : 4, "name" : "ABC", "age" : 27, "emailId" : "[email protected]" }
{ "_id" : 5, "name" : "ABCD", "age" : 29, "emailId" : "[email protected]" }

An approach to find the schema

In Mongo Shell
var k = db.mycollection.findOne();
for ( i in k){print (i)};
  _id
  name

this approach will work for you if all the documents in your collection follows the same schema.