sql >> Database teknologi >  >> NoSQL >> MongoDB

Om MongoDB

MongoDB er et open source database management system (DBMS), der bruger en dokumentorienteret datamodel. Den betragtes som en NoSQL-database, da den ikke bruger relationsmodellen og derfor ikke bruger SQL som forespørgselssprog.

Den dokumentorienterede model gør det muligt for MongoDB at gemme semi-strukturerede data, som ikke kræver et fast skema. Det kan opnås ved at bruge JSON-dokumenter.

MongoDB bruges af nogle af de største virksomheder i verden, herunder Facebook, Google, Nokia, MTV Networks, Cisco, Forbes og mange flere.

MongoDB er også et DBMS på tværs af platforme, der i øjeblikket understøtter Windows, Mac, Solaris og forskellige Linux-distributioner i skrivende stund.

En MongoDB-database er anderledes end en relationsdatabase, idet MongoDB bruger en dokumentorienteret model til at gemme data. I den dokumentorienterede model lagres data i dokumenter i en samling. I den relationelle model er data gemt i rækker i en tabel.

Samlingerne

I MongoDB er en samling en gruppe dokumenter. En samling indeholder typisk dokumenter, der har et lignende emne (som brugere, produkter, indlæg osv.).

Samlinger ligner derfor på mange måder tabeller fra relationsmodellen.

Dokumenterne

I MongoDB gemmes dokumenter som JSON Dokumenter. JSON (JavaScript Object Notation) er en standard, der letter dataudveksling. JSON-dokumenter ligner XML-dokumenter, idet data kan præsenteres på en hierarkisk måde og kan læses af både mennesker og computere.

Her er et eksempel på et JSON-dokument. Sådan ser dokumenter ud i en MongoDB-database.

{
    artistname : "Deep Purple",
    albums : [
                {
                    album : "Machine Head",
                    year : 1972,
                    genre : "Rock"
                }, 
                {
                    album : "Stormbringer",
                    year : 1974,
                    genre : "Rock"
                }
            ]
}

_id felt er den unikke identifikator for et dokument. MongoDB giver mulighed for, at hvert dokument kan hentes/henvises ved hjælp af dette felt. Du kan levere dette eller lade MongoDB generere det.

Ved at bruge JSON kan forespørgselsresultater let parses, med ringe eller ingen transformation, direkte ved hjælp af JavaScript og de fleste populære programmeringssprog. Dette skyldes, at JSON-dokumenter bruger navn/parret og array-konventioner, der er velkendte for de fleste populære programmeringssprog, såsom C, C++, C#, Java, JavaScript, Perl, Python og mange andre. Dette reducerer mængden af ​​forretningslogik, der skal indbygges i applikationer, der bruger MongoDB.

Bag kulisserne gemmer MongoDB faktisk JSON-dokumenterne i et binært kodet format kaldet BSON. BSON udvider JSON ved at understøtte yderligere datatyper og for at være effektiv til kodning og afkodning på forskellige sprog.

Skemafri

Hvert JSON-dokument i en samling kan indeholde sin egen struktur. Derfor er der ikke noget fast skema, der begrænser typen af ​​data, der kan indtastes i en MongoDB-database.

Dette er i modsætning til en relationel database, hvor du først skal oprette skemaet (dvs. definere tabeller, kolonner, datatyper osv.), før du indtaster data. Hvis data ikke overholder skemaet, går de ikke ind i databasen.

I en MongoDB-database er der ingen regel for at sige, hvilke felter, eller hvor mange felter, hvert dokument skal have. Et dokument fra en samling kan f.eks. indeholde navn, adresse og telefonnummer, mens et andet dokument kan indeholde navn og e-mailadresse.


  1. Håndtering af brugerdefineret BSON Marshaling

  2. Mongoose vælg felter for at returnere fra findOneAndUpdate

  3. Mongoose findOneAndUpdate og upsert returnerer ingen fejl, ingen dokumenter påvirket

  4. Hvordan får man de sidste N poster i mongodb?