MongoDB giver sine brugere muligheden for at oprette moderne databaser, der er let tilgængelige og manipuleres.

MongoDB er en NoSQL open source-database, der er tilgængelig til brug på alle operativsystemer.

Hvis du lærte databasedesign i skolen, er chancerne for, at du ikke lærte at bruge MongoDB eller få meget erfaring med NoSQL-databaser. Dette kommer ikke som nogen overraskelse - indtil 1998 havde mange mennesker ikke engang hørt om NoSQL, og det var først i 2009, at NoSQL-databaser begyndte at få trækkraft.

Hvad er NoSQL?

Akronymet SQL står for "struktureret forespørgselssprog." SQL bruges til at udføre matematiske operationer på data, der opbevares i databaser, der er stift struktureret af rækker og kolonner (tabeller).

Akronymet NoSQL, afhængigt af hvem du spørger, står for "ikke kun SQL" eller "ikke SQL." Dog den ene kendsgerning, at alle kan være enige om er, at NoSQL bruges til at udføre operationer på data, der opbevares i databaser, der ikke er struktureret af rækker og kolonner.

instagram viewer

Der findes et par NoSQL-databaser, men navnet, der står over resten, er MongoDB. Faktisk tror nogle mennesker, at MongoDB er den eneste database af sin art.

Hvad er MongoDB?

NoSQL understøtter fire forskellige typer databaser: dokument, nøgleværdilagre, kolonneorienteret og graf. MongoDB er en dokumentdatabase, fordi den gemmer data i et JSON-lignende dokument, og som alle databaser understøtter den alle de vigtige CRUD-operationer.

Relaterede: Hvordan en MongoDB-database bedre kan organisere dine data

Hvad er CRUD-operationer?

Forkortelsen CRUD står for "Opret, læs, opdater og slet." CRUD repræsenterer de fire grundlæggende funktionelle krav i alle databaser. Hvis du bruger en database, der ikke tillader dig at oprette, læse, opdatere eller slette poster, er det ikke en database.

Download MongoDB

Inden du kan udføre CRUD-operationer i MongoDB, skal du downloade og installere MongoDB på din enhed (eller brug en tilgængelig skyversion), skal du køre MongoDB-serveren, oprette forbindelse til den og oprette en ny database.

MongoDB-serveren kan downloades fra den officielle MongoDB-websted.

Udførelse af MongoDB-serveren

Udfør MongoDB Server fra konsollen på din IDE.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Brugere / Administrator / mongodb-data

Koden ovenfor udfører MongoDB-serveren. Den første halvdel giver den direkte sti til den eksekverbare fil MongoDB (mongod.exe), der er gemt på din enhed. Stienavnet på din enhed skal være anderledes, men målet er at nå mongod.exe-filen i bin-mappen.

Den anden halvdel af koden (som er adskilt af mellemrumstasten) er et andet stienavn. Denne sti fører til “mongodb-data”, som er en fil, du skal oprette alene. Denne fil indeholder alle de data, der oprettes i vores database.

Vores fil hedder “mongodb-data”, men navnet kan være hvad du synes er passende.

Udførelse af ovenstående kode skal producere flere linjer med kode, men de to linjer, som du skal være opmærksom på, kan ses nedenfor:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETVÆRK", "id": 23015, "ctx": "lytter", "msg": "Lytter til", "attr": {"adresse": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETVÆRK", "id": 23016, "ctx": "lytter", "msg": "Venter på forbindelser", "attr": {"port": 27017, "ssl": "off"}}

Disse to linjer indeholder henholdsvis localhost og standardport på MongoDB-serveren. Disse to numre er nødvendige for senere at oprette en forbindelse til MongoDB-serveren, så vi kan udføre vores CRUD-operationer.

Udførelse af CRUD-operationer

Nu hvor vores MongoDB-server er i gang, kan vi oprette forbindelse til den (ved hjælp af den relevante driver) og begynde at udføre CRUD-operationer. Til denne artikel opretter vi en simpel brugerdatabase, der gemmer vores brugeres navne og aldre.

Oprettelse af en bruger

Der er to hovedmåder at indsætte brugere i en MongoDB-database. Begge metoder er ret ens, men den metode, du skal vælge, afhænger af antallet af brugere, du vil oprette i en bestemt instans. Hvis dit mål er at oprette en bruger, skal du bruge indsæt Én metode.

Men hvis målet er at oprette mere end en bruger ad gangen, så indsætMange metode er en bedre mulighed.

MongoDB insertOne Method Eksempel


// importer mongodb og brug destrukturer for at få MongoClient-funktionen
const {MongoClient} = kræver ("mongodb");
// forbindelses-URL'en og den database, som vi agter at oprette forbindelse til
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'bruger-manager';
// ved hjælp af forbindelsesfunktionen på MongoClient for at oprette forbindelse til MongoDB-serveren
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// kontrollere om forbindelsen blev oprettet
hvis (fejl) {
returner console.log ('Kunne ikke oprette forbindelse til database');
}
// få adgang til bruger-manager-databasen
const db = client.db (databaseName);
// indsæt en bruger i databasen
db.collection ('brugere'). insertOne ({
navn: 'John Doe',
alder: '28'
}, (fejl, resultat) => {
hvis (fejl) {
returner console.log ('Kunne ikke oprette bruger');
}
console.log (result.ops);
})
})

Før vi kan oprette brugere, skal der oprettes en forbindelse til MongoDB-serveren ved hjælp af MongoDB-driveren på det sprog, du bruger. Den mest populære driver, og den, vi bruger i denne vejledning, er NodeJS-driveren.

Med den første linje i vores kode ovenfor kan vi bruge destruktureringsmetoden til at hente MongoClient-funktionen fra vores server.

MongoClient accepterer tre argumenter:

  • En URL (bruges til at oprette forbindelse til MongoDB-serveren)
  • Valgmuligheder / indstillinger (som i dette tilfælde indstiller variablen "useUnifiedTopology" til sand for at lette brugen af ​​den nye Server Discover and Monitoring-motor)
  • En tilbagekaldsfunktion, der tager to argumenter (fejl og klient)

Inden for tilbagekaldsfunktionen i MongoClient-metoden kan vi endelig indsætte en bruger i vores database. Men inden vi kommer til dette punkt, er vi nødt til at få adgang til bruger-manager-databasen.

En af skønhederne ved at bruge MongoDB er, at der ikke er behov for eksplicit at oprette en database. Når en reference til en bestemt database er genereret ved hjælp af "klient" -argumentet (som det ses i koden ovenfor), er du fri til at begynde at manipulere den.

Henvisningen til den brugeradministrationsdatabase, som vi genererer, er gemt i “db” -variablen, som vi bruger til at indsætte vores første bruger i databasen.

Ved hjælp af "db" -referencen kan vi oprette en ny samling, som vi tildeler navnet "bruger".

Det indsæt Én metoden tager to krævede argumenter; dokumentet (brugeren) og en tilbagekaldsfunktion. Med indsæt Én metode, er vi i stand til at indsætte en bruger ved navnet på Peter Davis med alderen på 32, i vores database.

Tilbagekaldsfunktionen tager to argumenter (fejl og resultat). Resultatfunktionen indeholder en ops-metode, som vi bruger til at se den bruger, vi lige har oprettet i vores database. Dette producerer følgende output i konsollen, efter at koden ovenfor er udført:


[{navn: 'Peter Davis', alder: '32', _id: 60772f869475e84740003c45}]

Selvom vi kun leverede to felter, når vi oprettede en bruger, kan du se fra output ovenfor, at et tredje felt blev genereret. Dette er en anden cool ting ved MongoDB; det genererer automatisk et unikt id for hvert dokument, det opretter.

Relaterede: Hvordan er datamodellering anderledes i MongoDB?

Læsning af en bruger i MongoDB

De to vigtigste metoder, der bruges til at læse dokumenter fra en MongoDB, er: finde og findOne. Det finde metoden bruges til at læse flere dokumenter ad gangen, og findOne metode bruges til at læse et enkelt dokument ad gangen.

MongoDB findOne metodeeksempel


// importer mongodb og brug destrukturer for at få MongoClient-metoden
const {MongoClient} = kræver ("mongodb");
// forbindelses-URL'en og den database, som vi agter at oprette forbindelse til
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'bruger-manager';
// ved hjælp af forbindelsesfunktionen på MongoClient for at oprette forbindelse til MongoDB-serveren
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// kontrollere om forbindelsen blev oprettet
hvis (fejl) {
returner console.log ('Kunne ikke oprette forbindelse til database');
}
// Opret bruger-manager-databasen
const db = client.db (databaseName);
// at finde en bruger i databasen
db.collection ('brugere'). findOne ({navn: 'Peter Davis'}, (fejl, bruger) => {
hvis (fejl) {
returner console.log ('Kunne ikke finde bruger');
}
console.log (bruger);
})
});

Det er godt at huske, at du altid skal oprette forbindelse til MongoDB-serveren og den relevante database, før du kan udføre CRUD-operationer (som det ses i vores eksempel ovenfor).

Det findOne metoden tager to krævede argumenter. Det første argument indeholder søgekriterierne; du kan søge efter et dokument ved hjælp af et hvilket som helst variabelnavn, der er unikt for det. I vores eksempel ovenfor bruger vi navnet "Peter Davis".

Det andet argument fra findOne metode er tilbagekaldsfunktionen, der tager to argumenter; den første er en fejl, hvis dokumentet ikke kan findes, og den anden er dokumentet (som vi kaldte "bruger").

Udførelse af koden ovenfor giver følgende resultat i konsollen:


{_id: 60772f869475e84740003c45, navn: 'Peter Davis', alder: '32'}

Opdatering af en bruger i MongoDB

Der er to tilgængelige metoder til at opdatere dokumenter i MongoDB. Selvom strukturen for begge er meget ens, updateOne bruges til at opdatere et dokument ad gangen og updateMany bruges til at opdatere mange dokumenter ad gangen.

MongoDB updateOne Method Eksempel


// Opdater en brugers alder
db.collection ('brugere'). updateOne ({navn: "Peter Davis"},
{
$ sæt: {
alder: '24'
}
})

Med koden ovenfor kan vi opdatere Peter Davis 'alder til 24 år.

Sletning af en bruger i MongoDB

Der er to metoder til at slette et dokument fra MongoDB. Det deleteOne metoden bruges til at slette et enkelt dokument, og deleteMany metoden bruges til at slette flere dokumenter.

MongoDB deleteOne Method Eksempel


// slet et dokument
db.collection ('brugere'). deleteOne ({navn: 'Peter Davis'})

Sletningsoperationen er den enkleste CRUD-operation, der kan udføres i MongoDB. Som du kan se i eksemplet ovenfor (ikke inklusive den nødvendige forbindelseskode og tilbagekaldsfunktion), tager det kun en linje kode.

Du kan nu udføre CRUD-operationer i MongoDB

Nu har du grundlæggende viden om MongoDB, og du ved hvad NoSQL betyder. Du ved også, hvad akronymet CRUD står for, og hvorfor disse operationer er vigtige kvaliteter i enhver database.

Denne artikel giver dig alle de nødvendige værktøjer til at udføre de fire grundlæggende CRUD-operationer i MongoDB. Nu hvor du er udstyret med CRUD-operationens know-how, kan du begynde at lære, hvordan du bedst modellerer dine data ved hjælp af MongoDB.

Billedkredit: Alexander Sosluev /WiKiMedia Commons

E-mail
Hvordan er datamodellering anderledes i MongoDB?

Overvejer du en anden tilgang til databaser? Sådan fungerer datamodellering i MongoDB.

Læs Næste

Relaterede emner
  • Programmering
  • Kodning Tutorials
  • database
Om forfatteren
Kadeisha Kean (9 artikler offentliggjort)

Kadeisha Kean er en full-stack softwareudvikler og teknisk / teknologiforfatter. Hun har den tydelige evne til at forenkle nogle af de mest komplekse teknologiske begreber; producerer materiale, der let kan forstås af enhver teknologinevner. Hun brænder for at skrive, udvikle interessant software og rejse verden rundt (gennem dokumentarfilm).

Mere fra Kadeisha Kean

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.

.