Introduction to MongoDB

MongoDB is an open-source, NoSQL (Not Only SQL), document-oriented database management system designed to store and manage large volumes of structured, semi-structured, and unstructured data.

Unlike traditional relational databases such as MySQL, Oracle, or PostgreSQL, MongoDB stores data in JSON-like documents rather than rows and columns.

MongoDB internally uses BSON (Binary JSON) to store documents.

MongoDB was originally developed by 10gen in 2007 as part of a cloud-computing platform. It was later released as an open-source database in 2009.

The name MongoDB comes from the word “humongous”, reflecting its original goal of handling very large amounts of data.

Today, MongoDB is widely used for modern web applications, cloud applications, real-time systems, analytics, and applications involving rapidly changing or semi-structured data.

Traditional relational databases require predefined schemas. MongoDB does n’t depend on pre defined schema.

MongoDB Data Model

The major components of the MongoDB data model are:

MongoDB Concept Relational Database Equivalent
Database Database
Collection Table
Document Row
Field Column
Embedded Document Related/embedded data
Array Multiple values

A document is the basic unit of data in MongoDB. Each document consists of key-value pairs. Documents can also contain nested documents:

Collections 

A collection is a group of MongoDB documents. It is conceptually similar to a table in a relational database.  Unlike relational tables, documents within a collection do not necessarily need to have exactly the same structure.

BSON

MongoDB stores documents using BSON, which stands for Binary JSON. BSON extends JSON by supporting additional data types such as:

  • String
  • Integer
  • Double
  • Boolean
  • Date
  • Array
  • Embedded document
  • ObjectId
  • Binary data
  • Null
ObjectId

MongoDB automatically generates a unique identifier called ObjectId for documents when an _id is not explicitly supplied.

Example:  The _id field uniquely identifies a document within a collection.

CRUD Operations

MongoDB supports the four fundamental database operations:

Operation MongoDB Method
Create insertOne() / insertMany()
Read find() / findOne()
Update updateOne() / updateMany()
Delete deleteOne() / deleteMany()
MongoDB vs Relational Database
Feature Relational Database MongoDB
Data model Tables Documents
Structure Rows and columns JSON-like documents
Schema Usually fixed Flexible
Relationships Foreign keys/joins Embedding/references
Scaling Primarily vertical, also horizontal Strong horizontal scaling
Query language SQL MongoDB Query Language
Storage format Database-specific BSON
Best suited for Highly structured data Flexible/semi-structured data
Transactions Supported Supported
Typical use Banking, ERP, traditional systems Web, cloud, real-time, big-data applications
Advantages of MongoDB
  • Flexible document model
  • Easy handling of semi-structured data
  • Horizontal scalability
  • High availability through replication
  • Powerful aggregation
  • Rich query capabilities
  • Natural support for nested data and arrays
  • Good integration with modern application frameworks
  • Suitable for cloud-native applications
  • Useful for rapidly evolving application requirements
Limitations of MongoDB

MongoDB is not automatically the best choice for every application.

Some considerations include:

  • Complex relational workloads may be easier in relational databases.
  • Poorly designed indexes can consume significant resources.
  • Data duplication through embedding needs careful design.
  • Highly normalized relational models may require references and additional queries.
  • MongoDB’s flexibility can become a disadvantage if applications do not enforce appropriate data validation.
Common Applications

MongoDB is commonly used in:

  • Web applications
  • Mobile applications
  • Real-time applications
  • Content management systems
  • Internet of Things (IoT)
  • Big-data applications
  • Analytics
  • Catalog and inventory systems
  • Social networking applications
  • AI/ML applications
  • Cloud-native microservices
MongoDB Ecosystem

Important components of the MongoDB ecosystem include:

Component Purpose
MongoDB Server Database engine
MongoDB Shell Command-line interaction
MongoDB Compass Graphical database tool
MongoDB Atlas Cloud-hosted MongoDB service
MongoDB Drivers Application connectivity
MongoDB Atlas Search Search capabilities
Aggregation Framework Data processing and analysis

MongoDB is a document-oriented NoSQL database that stores flexible, JSON-like BSON documents and provides powerful querying, aggregation, replication, and horizontal scaling for modern applications.

Scroll to Top