MongoDB gir brukerne muligheten til å lage moderne databaser som er lett tilgjengelige og manipulert.
MongoDB er en NoSQL open source-database som er tilgjengelig for bruk på alle operativsystemer.
Hvis du lærte databasedesign på skolen, er sjansen stor for at du ikke lærte å bruke MongoDB eller fikk mye erfaring med NoSQL-databaser. Dette kommer ikke som noen overraskelse - frem til 1998 hadde mange ikke engang hørt om NoSQL, og det var først i 2009 at NoSQL-databaser begynte å få grep.
Hva er NoSQL?
Forkortelsen SQL står for "strukturert spørrespråk." SQL brukes til å utføre matematiske operasjoner på data som holdes i databaser som er stivt strukturert av rader og kolonner (tabeller).
Forkortelsen NoSQL, avhengig av hvem du spør, står for "ikke bare SQL" eller "ikke SQL." Imidlertid det faktum at alle kan bli enige om er at NoSQL brukes til å utføre operasjoner på data som holdes i databaser som ikke er strukturert av rader og kolonner.
Det finnes noen NoSQL-databaser, men navnet som står over resten er MongoDB. Faktisk tror noen at MongoDB er den eneste databasen i sitt slag.
Hva er MongoDB?
NoSQL støtter fire forskjellige typer databaser: dokument, nøkkelverdilagre, kolonneorientert og graf. MongoDB er en dokumentdatabase fordi den lagrer data i et JSON-lignende dokument, og som alle databaser støtter den alle viktige CRUD-operasjoner.
I slekt: Hvordan en MongoDB-database bedre kan organisere dataene dine
Hva er CRUD-operasjoner?
Forkortelsen CRUD står for "create, read, update, and delete." CRUD representerer de fire grunnleggende funksjonelle kravene til alle databaser. Hvis du bruker en database som ikke tillater deg å opprette, lese, oppdatere eller slette poster, er det ikke en database.
Last ned MongoDB
Før du kan utføre noen CRUD-operasjoner i MongoDB, må du laste ned og installere MongoDB på din enhet (eller bruk en tilgjengelig skyversjon), kjør MongoDB-serveren, koble til den, og til slutt opprett en ny database.
MongoDB-serveren kan lastes ned fra den offisielle MongoDB nettsted.
Utføre MongoDB Server
Utfør MongoDB Server fra konsollen til IDE.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data
Koden ovenfor kjører MongoDB-serveren. Første halvdel gir den direkte banen til den kjørbare filen MongoDB (mongod.exe) som er lagret på enheten din. Banenavnet på enheten din skal være annerledes, men målet er å nå mongod.exe-filen i papirkurvmappen.
Den andre halvdelen av koden (som er atskilt med mellomromstasten) er et annet banenavn. Denne banen fører til “mongodb-data”, som er en fil du må lage på egen hånd. Denne filen inneholder alle dataene som er opprettet i databasen vår.
Filen vår heter “mongodb-data”, men navnet kan være hva du synes er passende.
Å utføre ovennevnte kode skal produsere flere kodelinjer, men de to linjene du må være nøye med kan sees nedenfor:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETTVERK", "id": 23015, "ctx": "lytter", "msg": "Lytter på", "attr": {"adresse": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETTVERK", "id": 23016, "ctx": "lytter", "msg": "Venter på tilkoblinger", "attr": {"port": 27017, "ssl": "av"}}
Disse to linjene inneholder henholdsvis localhost og standardport på MongoDB-serveren. Disse to tallene er nødvendige for senere å opprette en forbindelse til MongoDB-serveren slik at vi kan utføre våre CRUD-operasjoner.
Utfører CRUD-operasjoner
Nå som MongoDB-serveren vår er i gang, kan vi koble til den (ved hjelp av riktig driver) og begynne å utføre CRUD-operasjoner. For denne artikkelen oppretter vi en enkel brukerdatabase som lagrer navnene og alderen på brukerne våre.
Opprette en bruker
Det er to hovedmåter å sette brukere inn i en MongoDB-database. Begge metodene er ganske like, men metoden du bør velge, avhenger av antall brukere du vil opprette i en bestemt forekomst. Hvis målet ditt er å opprette en bruker, bør du bruke sett inn Én metode.
Men hvis målet er å opprette mer enn én bruker om gangen, så sett inn Mange metoden er et bedre alternativ.
MongoDB insertOne Method Eksempel
// importer mongodb og bruk destrukturer for å få MongoClient-funksjonen
const {MongoClient} = krever ("mongodb");
// tilkoblings-URL og databasen som vi har tenkt å koble til
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// bruker tilkoblingsfunksjonen på MongoClient for å koble til MongoDB-serveren
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// sjekk om forbindelsen ble opprettet
hvis (feil) {
return console.log ('Kunne ikke koble til database');
}
// få tilgang til brukeradministratordatabasen
const db = client.db (databaseName);
// sett inn en bruker i databasen
db.collection ('brukere'). insertOne ({
navn: 'John Doe',
alder: '28'
}, (feil, resultat) => {
hvis (feil) {
return console.log ('Kunne ikke opprette bruker');
}
console.log (result.ops);
})
})
Før vi kan opprette brukere, må det opprettes en forbindelse med MongoDB-serveren ved hjelp av MongoDB-driveren til språket du bruker. Den mest populære driveren, og den vi bruker i denne opplæringen, er NodeJS-driveren.
Med den første linjen i koden vår ovenfor, kan vi bruke destruktureringsmetoden for å hente MongoClient-funksjonen fra serveren vår.
MongoClient godtar tre argumenter:
- En URL (brukes til å koble til MongoDB-serveren)
- Alternativer / innstillinger (som i dette tilfellet setter variabelen "useUnifiedTopology" til sann for å lette bruken av den nye Server Discover and Monitoring-motoren)
- En tilbakeringingsfunksjon som tar to argumenter (feil og klient)
Innen tilbakeringingsfunksjonen til MongoClient-metoden kan vi endelig sette inn en bruker i databasen vår. Men før vi kommer til det punktet, må vi få tilgang til brukeradministratordatabasen.
En av skjønnhetene ved å bruke MongoDB er at det ikke er behov for å opprette en database eksplisitt. Når en referanse til en bestemt database er generert ved hjelp av "klient" -argumentet (som vist i koden ovenfor), er du fri til å begynne å manipulere den.
Henvisningen til brukeradministratordatabasen som vi genererer, er lagret i “db” -variabelen, som vi bruker til å sette inn vår første bruker i databasen.
Ved hjelp av “db” -referansen kan vi opprette en ny samling, som vi tildeler navnet "bruker".
De sett inn Én metoden tar to nødvendige argumenter; dokumentet (brukeren) og en tilbakeringingsfunksjon. Med sett inn Én metoden, kan vi sette inn en bruker med navnet på Peter Davis med alderen på 32, inn i databasen vår.
Tilbakeringingsfunksjonen tar to argumenter (feil og resultat). Resultatfunksjonen inneholder en ops-metode som vi bruker for å se brukeren vi nettopp opprettet i databasen vår. Dette gir følgende utdata i konsollen etter at koden ovenfor er utført:
[{name: 'Peter Davis', age: '32', _id: 60772f869475e84740003c45}]
Selv om vi bare ga to felt når vi opprettet en bruker, kan du se fra utdataene ovenfor at et tredje felt ble generert. Dette er en annen kul ting med MongoDB; den genererer automatisk en unik id for hvert dokument den oppretter.
I slekt: Hvordan er datamodellering forskjellig i MongoDB?
Lese en bruker i MongoDB
De to hovedmetodene som brukes til å lese dokumenter fra en MongoDB er: finne og Finn én. De finne metoden brukes til å lese flere dokumenter om gangen og Finn én metoden brukes til å lese et enkelt dokument om gangen.
MongoDB findOne Method Eksempel
// importer mongodb og bruk destrukturer for å få MongoClient-metoden
const {MongoClient} = krever ("mongodb");
// tilkoblings-URL og databasen som vi har tenkt å koble til
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'user-manager';
// bruker tilkoblingsfunksjonen på MongoClient for å koble til MongoDB-serveren
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (error, client) => {
// sjekk om forbindelsen ble opprettet
hvis (feil) {
return console.log ('Kunne ikke koble til database');
}
// lage bruker-manager-databasen
const db = client.db (databaseName);
// finne en bruker i databasen
db.collection ('brukere'). findOne ({navn: 'Peter Davis'}, (feil, bruker) => {
hvis (feil) {
return console.log ('Kunne ikke finne bruker');
}
console.log (bruker);
})
});
Det er godt å huske at du alltid må koble til MongoDB-serveren og den aktuelle databasen før du kan utføre CRUD-operasjoner (som vist i eksemplet vårt ovenfor).
De Finn én metoden tar to nødvendige argumenter. Det første argumentet inneholder søkekriteriene; du kan søke etter et dokument ved hjelp av et hvilket som helst variabelnavn som er unikt for det. I vårt eksempel ovenfor bruker vi navnet "Peter Davis".
Det andre argumentet til Finn én metoden er tilbakeringingsfunksjonen som tar to argumenter; den første er en feil hvis dokumentet ikke kan lokaliseres, og den andre er dokumentet (som vi kalte "bruker").
Å utføre koden ovenfor vil gi følgende resultat i konsollen:
{_id: 60772f869475e84740003c45, navn: 'Peter Davis', alder: '32'}
Oppdaterer en bruker i MongoDB
Det er to tilgjengelige metoder for å oppdatere dokumenter i MongoDB. Selv om strukturen for begge er veldig lik, updateOne brukes til å oppdatere ett dokument om gangen og updateMany brukes til å oppdatere mange dokumenter om gangen.
MongoDB updateOne Method Eksempel
// Oppdater brukerens alder
db.collection ('brukere'). updateOne ({navn: "Peter Davis"},
{
$ sett: {
alder: '24'
}
})
Med koden ovenfor kan vi oppdatere Peter Davis 'alder til 24 år.
Slette en bruker i MongoDB
Det er to metoder tilgjengelig for å slette et dokument fra MongoDB. De deleteOne metoden brukes til å slette et enkelt dokument, og deleteMany metoden brukes til å slette flere dokumenter.
MongoDB deleteOne Method Eksempel
// slette et dokument
db.collection ('brukere'). deleteOne ({navn: 'Peter Davis'})
Sletteoperasjonen er den enkleste CRUD-operasjonen som kan utføres i MongoDB. Som du kan se i eksemplet ovenfor (ikke inkludert den nødvendige tilkoblingskoden og tilbakeringingsfunksjonen), tar det bare en linje med kode.
Du kan nå utføre CRUD-operasjoner i MongoDB
Nå har du grunnleggende kunnskap om MongoDB, og du vet hva NoSQL betyr. Du vet også hva akronymet CRUD står for og hvorfor disse operasjonene er essensielle egenskaper i enhver database.
Denne artikkelen gir deg alle verktøyene som er nødvendige for å utføre de fire grunnleggende CRUD-operasjonene i MongoDB. Nå som du er utstyrt med kunnskapen om CRUD-operasjoner, kan du begynne å lære hvordan du best modellerer dataene dine ved hjelp av MongoDB.
Bildekreditt: Alexander Sosluev /WiKiMedia Commons
Vurderer du en annen tilnærming til databaser? Slik fungerer datamodellering i MongoDB.
Les Neste
- Programmering
- Koding opplæringsprogrammer
- database
Kadeisha Kean er en full-stack programvareutvikler og teknisk / teknologiforfatter. Hun har den distinkte evnen til å forenkle noen av de mest komplekse teknologiske konseptene; produsere materiale som lett kan forstås av en hvilken som helst nybegynner. Hun brenner for å skrive, utvikle interessant programvare og reise verden rundt (gjennom dokumentarer).
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.