Hvis du for eksempel er bekendt med MySQL eller PostgreSQL, giver SQL-databaser dig mulighed for at tilføje og hente data ved hjælp af et specifikt sprog, kaldet SQL, der ser sådan ud:
SELECT * FROM cars
INSERT INTO cars VALUES (fiesta, 2010)
SQL er ret gammel, født i 1986, og det er en kamptestet teknologi.
Under NoSQL paraply sætter vi alle de databaser, der ikke bruger SQL-sproget til at forespørge dataene.
MongoDB falder ind under denne paraply.
MongoDB er en dokumentdatabase . I stedet for at gemme poster gemmer vi objekter (kaldet dokumenter ).
Hvordan adskiller dette sig fra en SQL-database? Tabeller i en SQL-database er flade og statisk , de kan hoste data, men begrænset til, hvad den oprindelige hensigt var (du kan ikke tilføje en kolonne dynamisk), og for at gemme komplekse data skal du oprette mange tabeller og linke dataene i hver tabel i overensstemmelse med relationsdatabasernes almindelige praksis (som f.eks. fremmednøgler, kolonnetyper osv.).
I MongoDB kan du gemme ethvert objekt uden at skulle bekymre dig om de særlige felter, der komponerer dette objekt, og hvordan du gemmer dem. Du beder MongoDB om at gemme det objekt.
Med MongoDB behøver du ikke at lære et andet sprog for at interagere med dataene:du kalder bare de JavaScript-metoder, det afslører, og det er det (selvfølgelig kan du også interagere med det ved hjælp af andre sprog).
Data gemmes i et format, der ligner JSON, men forbedret for at tillade lagring af mere end blot grundlæggende datatyper.
Jeg håber, at dette giver dig et kort overblik over de vigtigste forskelle mellem SQL-databaser og MongoDB.