– Mongodb is basically a database system that is document oriented and Nosql type.

-Typically we call a table as a collection and a record as a document as oppose to tables and rows in RDBMS.

-One of its advantage is that it does not restrict a us to a structure , we can make it according to our convenience i.e a dynamic schema making it simple,flexible and giving more control in users hand.

-As said before Mongodb is document oriented .By document orientation i mean that how it deals with the data modeling.Since it does not follow any structure  we can model data according to our use and need to represent relationship among the data. We can do so in two ways

  • By creating references– This means including reference links between the documents

Data model using references to link documents. Both the <code></code>contact<code></code> document and the <code></code>access<code></code> document contain a reference to the <code></code>user<code></code> document.” src=”http://docs.mongodb.org/master/_images/data-model-normalized.png” width=”478″ height=”257″ /></p>
<p>Image reference : http://docs.mongodb.org/manual/core/data-modeling-introduction</p>
<ul>
<li><strong>By using embedded data</strong> -This means we can write our related data in just one single document</li>
</ul>
<p><img alt=

Image reference : http://docs.mongodb.org/manual/core/data-modeling-introduction

-Mongodb supports indexing . By the use of indexing feature when we generate our query it does’nt have to search in all documents of collection .In indexes we store a little information about the collection and the search takes place referring to these indexes.

-Mongodb has a concept of Replication. Replica Set is a part of mongodb processes whose responsibility is maintenance of same data. This provision of redundancy associates with high availability of data so we make sure that we don’t have to worry about loss of data . Even if we lose a data at one place we can always avail it from another database server.

Sharding is another concept that helps us in partitioning and storing data at different machines as the data grows so we don’t have to worry about the data size

-Another interesting concept if of Map Reduce.It involves the map reduce operation that uses map phase (i.e key value pair). Using this map a key having different values it uses the reduce phase to integrate the aggregated data and finally storing this derived data into a collection

Diagram of the annotated map-reduce operation.

Image Reference : http://docs.mongodb.org/manual/core/map-reduce

-Few basic commands to use Mongodb in terminal

1.) mongo -This will start the mongo

2.) use “database name ” -This will switch you to the database you want to work in .If not initially created ,mongo will create one for you

3.) show dbs – This will display all the databases present in the mongo

4.) db.collectionname.find()- This will display all the documents under the “collectionname” you are working on.

5.) show collections – This will list all the collections under the database you are in.

6.) help – Shows command line options.

7.) shell – Used in conjunction with a JavaScript file (i.e. <file.js>) to continue in the mongo shell after running the JavaScript file.

8.) show users- Print a list of users for current database.

You can read more about :

installation and configuration here –> http://www.jellyfishtechnologies.com/installing-configuring-mongodb/ 

using mongodb with java here –> http://www.jellyfishtechnologies.com/working-mongodb-using-java/