How MongoDB is different from a SQL database
Generally speaking there are 2 major types of databases: SQL databases, and NoSQL databases
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.
THE VALLEY OF CODE
THE WEB DEVELOPER's MANUAL
You might be interested in those things I do:
- Learn to code in THE VALLEY OF CODE, your your web development manual
- Find a ton of Web Development projects to learn modern tech stacks in practice in THE VALLEY OF CODE PRO
- I wrote 16 books for beginner software developers, DOWNLOAD THEM NOW
- Every year I organize a hands-on cohort course coding BOOTCAMP to teach you how to build a complex, modern Web Application in practice (next edition February-March-April-May 2024)
- Learn how to start a solopreneur business on the Internet with SOLO LAB (next edition in 2024)
- Find me on X