Data store as Key, Value pair in MongoDB. For an example a “Key” is nothing other than a label like “Name” and Value is the value related to that Key, “John”.
In MongoDB you can embed data whenever you can other than referring to some other table. If you feel like “Noooo, I want refer another table”, then references can be created manually or automatically.
MongoDb guarantees to generate a unique Id for you when you insert a document (a tuple) without specifying an _id . This is how it generates its unique _id:
_id (12-bytes) = timestamp (4-byte) + machine id (3-byte) + process id (2-byte) + counter (3-byte)
There are drivers for lots of languages and I have worked with the Mongo driver for C#. I found it very easy to work with. I am using MongoVUE, GUI tool for MongoDB and it is very cool too.
World famous solutions like foursquare, trello, github, sharethis, pinterest and doodle also use MongoDB and the list goes on and on.
Here are some references for you to start with,
Mongo API docs for c# http://api.mongodb.org/csharp/current/
C# development documentation http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial
The Definitive Guide to MongoDB, The NoSQL Database for Cloud and Desktop COmputing (book)
Have fun with MongoDB !!!