If you are familiar with MySQL or PostgreSQL for example, SQL databases allow you to add and retrieve data using a specific language, called SQL, that looks like this:
SELECT * FROM cars INSERT INTO cars VALUES (fiesta, 2010)
SQL is rather old, being born in 1986, and it’s a battle-tested technology.
Under the NoSQL umbrella we put all those databases that do not use the SQL language for querying the data.
MongoDB falls under this umbrella.
MongoDB is a document database. Instead of storing records, we store objects (called documents).
How does this differ from a SQL database? Tables in a SQL database are flat and static, they can host data but limited to what the original intent was (you can’t add a column dynamically) and to store complex data you need to create many tables and link the data in each table, following the relational databases common practices (like foreign keys, column types, etc).
In MongoDB you can store any object without having to worry about the particular fields that compose this object and how to store them. You tell MongoDB to store that object.
Data is stored in a format similar to JSON, but enhanced to allow storing more than just basic data types.
I hope this gives you a brief overview of the key differences between SQL databases and MongoDB.
My latest YouTube video
I am writing a book on how to create a successful blog as a developer.
It will be released late February.
Signup to my newsletter to get 2/3 free chapters in your inbox in the next few weeks!