no edit summary
# Graph based
While there are a number of NoSql databases out in the market currently, MongoDB is the leading Open-Source, NoSql database available . MongoDb has a flexible schema, which means that the collections are not bound in a fixed document. The collections in MongoDB are stored in documents called BSON or Binary JSON. The structure of a BSON document is same as a JSON document, which means that every collection in Mongo is enclosed in curly brackets just like a JSON document. When saying Mongo has a flexible schema it means that when a collection has, for example 4 fields, data with number of fields other than 4 can be added to the same collection. The collections are not schema bounds like relational databases. Being schema-less also means that, common fields in a document's collection can hold different types of data. For example, a field which is used for Name can hold characters, decimal values, integers etc. This does not work in relational databases because, in relational databases when a field is defined as a particular data type it can only hold values of that data type. This illustrates the flexibility of MongoDB.
MongoDB also has indexing. Indexes support the efficient resolution of queries in MongoDB. Without indexes, MongoDB must scan every document in a collection to select those documents that match the query statement. Fundamentally, indexes in MongoDB are similar to indexes in other database systems. MongoDB defines indexes at the collection level and supports indexes on any field or sub-field of the documents in a MongoDB collection. MongoDB can use indexes to return documents sorted by the index key directly from the index without requiring an additional sort phase.