- Document DB
- supports ACID
- uses JSON/BSON
- districuted scalability (sharding)
- high availability (replica set)
- free open source Community Edition
- pluggable storage engine support
- queries use MQL (MongoDB Query Language)
- has free text search capabilities
Compared with Relational databases, MongoDB has the following terms:
BSON stands for “Binary JSON”, it’s binary-encoded. It sacrifies human-readability for performance. BSON supports more data types than traditional JSON (different numeric types, raw binary, dates, ObjectId, etc.).
On the “frontend”, we talk with MongoDB in JSON. In the backend, MongoDB stores the documents as BSONs.
All the BSON types can be found in the MongoDB Docs.
A date can be represented in MongoDB with
We can use filtering based on date, including comparison operators such as
To create an index:
The index will be created on the
name field in ascending order.
We can get all indexes on a collection with:
Mongo Shell (mongosh) is a CLI interface for accessing MongoDB. It uses JS-like syntax.
MongoDB Compass is the official GUI for exploring MongoDB databases. It’s available for Linux, macOS, Windows.
A tool that is added to MongoDB installations that allows for bulk imports of data.
MongoDB has MongoDB Atlas offering, which is a cloud deploymen of MongoDB. There’s a free tier that is shared, but great for testing. It can be deployed to Azure/GCP/AWS. For testing, we can also load a Sample Dataset.