MongoDB is an open source, cross-platform, and the most popular NoSQL database program.
Database,collections and documents are terminology in mongodb.
- Each database has collections which in turn has documents.
- The data stored is in the form of JSON style documents (rows).
- It is useful in building scalable websites with millions of users.
Mongodb – Relational databases were not designed to cope with the scale and agility challenges that face modern applications.But they built to take advantage of the commodity storage and processing power available today. NoSQL is the term used to define the new database architecture that scales well in a distributed environment.
Since incoming records are stored in memory,inserrting data into mongo is non-blocking,making it ideal for logging operations and telemetry data.
Documents don’t need to have a schema defined beforehand. Instead, the creation of the field happens on the fly.
It uses internal memory for storing the (windowed) working set, enabling faster access to data.
MongoDB can provide high availability with replica sets. A replica set consists of two or more mongo DB instances.
No complex joins
instead of joins, it supports embedding or referencing to access related data.No need for complex ORM (mapping from relational database tables to application objects )
It has official drivers for major programming languages and development environments. JSON based structure allows to store complex nested schemas. It plays well with NodeJS , which also understand json natively.