Hvordan utvikle MongoDB med JavaScript

Hvordan Utvikle Mongodb Med Javascript



En av de viktigste fordelene ved å bruke MongoDB for webutviklere er dens utmerkede integrasjon med JavaScript. MongoDB tilbyr en innebygd JavaScript-driver som gjør det mulig for utviklerne å samhandle med databasen direkte ved hjelp av JavaScript-koden. Nå er det nødvendig å installere MongoDB Node.js-driveren på maskinen før vi kan begynne å lage MongoDB-applikasjonene i JavaScript. Vi må bruke følgende kommando for dette:

npm i mongodb

Driveren lar oss samhandle med MongoDB fra JavaScript-koden din og utføre forskjellige operasjoner som å koble til databasen, sette inn dataene, spørre etter dataene og oppdatere dataene.







Eksempel 1: Utvikle en MongoDB-tilkobling med JavaScript

Begynn med å etablere forbindelsen med MongoDB-serveren med JavaScript som kan oppnås ved å bruke 'npm'-modulen som diskutert tidligere.



konst { MongoClient } = krever ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klient = ny MongoClient ( url ) ;
konst dbNavn = 'Min DB' ;

asynkron funksjon hoved- ( ) {
venter på klienten. koble ( ) ;
konsoll. Logg ( 'Koblet til server vellykket' ) ;
konst db = klient. db ( dbNavn ) ;
konst samling = db. samling ( 'Personer' ) ;

komme tilbake 'ferdig.' ;
}

hoved- ( )
. deretter ( konsoll. Logg )
. å fange ( konsoll. feil )
. endelig ( ( ) => klient. Lukk ( ) ) ;

Vi importerer først den nødvendige MongoClient fra 'mongodb'-modulen i filen 'File.js'. Vi definerer deretter tilkoblings-URLen for MongoDB-serveren (url) og oppretter en ny MongoClient-forekomst ved å bruke den angitte URL-en.



Etter det spesifiserer vi navnet på MongoDB-databasen (dbName) som skal brukes i forbindelsen. Deretter håndterer den asynkrone main()-funksjonen hovedoperasjonene på MongoDB-serveren. Her kobler vi til MongoDB-serveren ved å bruke await client.connect(). Dette er en asynkron operasjon, så funksjonen stopper til tilkoblingen er opprettet. Vi får se meldingen som vises på ledeteksten når tilkoblingen er opprettet. Vi får en referanse til databasen med det angitte navnet i 'dbName' ved å bruke klienten.db(dbName).





Deretter får vi en referanse til samlingen kalt 'Persons' ved å bruke db.collection('Persons'). Etter å ha definert main()-funksjonen kaller vi main() for å utføre operasjonene. Hvis main()-funksjonen løser seg vellykket, skriver den ut resultatet (i dette tilfellet er det 'ferdig'-strengen) ved å bruke .then(console.log). Hvis det oppstår en feil under kjøring, fanger den opp feilen og skriver den ut ved hjelp av .catch(console.error). Til slutt sikrer den at MongoDB-klientforbindelsen er lukket ved å bruke .finally(() => client.close()).

Derfor viser ledeteksten meldingen der MongoDB-tilkoblingen er etablert i JavaScript-filen:



Eksempel 2: Sett inn et MongoDB-dokument med JavaScript

Nå som forbindelsen er etablert med MongoDB-serveren, kan vi bruke MongoDB-spørringene med JavaScript. Her bruker vi innsettingsspørringen for å sette inn enkeltdokumentet.

konst { MongoClient } = krever ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klient = ny MongoClient ( url ) ;
konst dbNavn = 'Min DB' ;

asynkron funksjon hoved- ( ) {
konst db = klient. db ( dbNavn ) ;
konst samling = db. samling ( 'brukere' ) ;
konst sett inn dokument =
venter på samling. sett innOne ( { Navn : 'Andrew' , alder : 23 } ) ;
konsoll. Logg ( 'Dokument satt inn =' , sett inn dokument ) ;
komme tilbake 'ferdig.' ;
}

hoved- ( )
. deretter ( konsoll. Logg )
. å fange ( konsoll. feil )
. endelig ( ( ) => klient. Lukk ( ) ) ;

Vi definerer main()-funksjonen som en asynkron funksjon som utfører databaseinnsettingsoperasjonen. Inne i den kobler vi til MongoDB-serveren ved å bruke MongoClient-forekomsten og URL-en. Deretter får vi tilgang til den spesifiserte databasen (MyDB) ved å bruke client.db(dbName) og henter 'users'-samlingen fra databasen ved å bruke db.collection('users').

Etter det setter vi inn et dokument med feltnavnet som 'Andrew' og alderen som 23 i 'brukere'-samlingen ved å bruke collection.insertOne(). Metoden insertOne() returnerer et løfte som løser seg med resultatet av innsettingen. Det tilføyde dokumentet vises ved hjelp av console.log. Til slutt lukker vi MongoDB-klientforbindelsen.

Dokumentet som er satt inn i MongoDB-databasesamlingen har blitt satt inn som vist i følgende utdata:

Eksempel 3: Finn et MongoDB-dokument med JavaScript

På samme måte kan vi bruke 'finn'-spørringen til MongoDB med JavaScript for å finne dokumentet fra samlingen som ble opprettet i det forrige eksemplet.

konst { MongoClient } = krever ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klient = ny MongoClient ( url ) ;
konst dbNavn = 'Min DB' ;

asynkron funksjon hoved- ( ) {
konst db = klient. db ( dbNavn ) ;
konst samling = db. samling ( 'brukere' ) ;
konst findQuery = { Navn : 'Andrew' } ;
konst finnDoc = venter på samling. finne ( findQuery ) . tilArray ( ) ;
konsoll. Logg ( 'Dokument =' , finnDoc ) ;
}

hoved- ( )
. deretter ( konsoll. Logg )
. å fange ( konsoll. feil )
. endelig ( ( ) => klient. Lukk ( ) ) ;

Vi begynner med demonstrasjonen fra hovedfunksjonen der vi kobler til MongoDB-serveren først ved å bruke den opprettede MongoClient-forekomsten og den angitte URL-en. Deretter får vi tilgang til MyDB-databasen ved å bruke client.db(dbName) der dbName er det tidligere definerte databasenavnet.

Deretter får vi en referanse til 'brukere'-samlingen fra databasen ved å bruke db.collection('brukere'). Det opprettes et spørringsobjekt kalt 'findQuery' som spesifiserer at dokumentene som skal hentes skal ha navnefeltet lik 'Andrew'. Etter det utfører vi en 'finn'-spørring på 'brukere'-samlingen ved å bruke collection.find(findQuery) som returnerer en markør til de samsvarende dokumentene.

Nøkkelordet 'avvent' brukes før collection.find() for å sikre at resultatet er løst før du fortsetter. Resultatet av finneoperasjonen konverteres til en rekke dokumenter ved å bruke toArray(), og de funnet dokumentene lagres i 'findDoc'-variabelen. Dokumentene logges deretter til konsollen ved hjelp av console.log.

Som et resultat vises det funnet dokumentet til MongoDB-samlingen ved utførelse:

Eksempel 4: Oppdater et MongoDB-dokument med JavaScript

Deretter utfører vi 'oppdatering'-operasjonen i JavaScript for å oppdatere det spesifiserte dokumentet til MongoDB-samlingen.

konst { MongoClient } = krever ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klient = ny MongoClient ( url ) ;
konst dbNavn = 'Min DB' ;

asynkron funksjon hoved- ( ) {
konst db = klient. db ( dbNavn ) ;
konst samling = db. samling ( 'brukere' ) ;
konst updateQuery = { Navn : 'Andrew' } ;
konst updateName = { $sett : { Navn : 'Han selv' } } ;
konst oppdaterResultat = venter på samling. updateOne ( updateQuery , updateName ) ;
konsoll. Logg ( 'Oppdatert dokument =' , oppdaterResultat ) ;
komme tilbake 'ferdig' ;
}

hoved- ( )
. deretter ( konsoll. Logg )
. å fange ( konsoll. feil )
. endelig ( ( ) => klient. Lukk ( ) ) ;

For å oppdatere et dokument i 'brukere'-samlingen, starter vi hoved()-funksjonen. Vi forbereder deretter en 'oppdatering'-spørring ved å bruke { name: 'Andrew' } for å finne dokumentet med navnefeltet lik 'Andrew'. Etter det setter vi navnefeltet til det samsvarende dokumentet til 'Sam' ved å bruke { $set: { name: 'Sam' } }.

Vi definerer «update»-spørringen og «update»-operasjonen for å utføre oppdateringen ved å bruke collection.updateOne(updateQuery, updateName). UpdateOne()-metoden oppdaterer det første dokumentet som samsvarer med 'oppdatering'-spørringen og returnerer et objekt som representerer resultatet av oppdateringen. Variabelen 'updateResult' inneholder resultatet av oppdateringshandlingen.

Den påfølgende utdataskjermen viser resultatene for den oppdaterte spørringen:

Eksempel 5: Slett et MongoDB-dokument med JavaScript

Til slutt bruker vi slettemetoden til MongoDB for å slette det forrige dokumentet fra MongoDB i JavaScript.

konst { MongoClient } = krever ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klient = ny MongoClient ( url ) ;
konst dbNavn = 'Min DB' ;

asynkron funksjon hoved- ( ) {
konst db = klient. db ( dbNavn ) ;
konst samling = db. samling ( 'brukere' ) ;
konst deleteQuery = { Navn : 'Han selv' } ;
konst slettResultat = venter på samling. slettOne ( deleteQuery ) ;
konsoll. Logg ( 'Slettet dokument =' , slettResultat ) ;
komme tilbake 'ferdig' ;
}

hoved- ( )
. deretter ( konsoll. Logg )
. å fange ( konsoll. feil )
. endelig ( ( ) => klient. Lukk ( ) ) ;

Vi lager et «delete»-spørringsobjekt kalt «deleteQuery» som spesifiserer kriteriene for dokumentene som skal slettes. I dette tilfellet søker den etter dokumenter der navnefeltet er lik 'Sam'. Etter å ha klargjort slettespørringen, bruker vi selve sletteoperasjonen ved å bruke deleteOne()-metoden til samlingsobjektet.

Vi sender 'deleteQuery' som et argument til 'deleteOne' som sletter det første samsvarende dokumentet som oppfyller de angitte kriteriene i spørringen. Variabelen 'deleteResult' inneholder resultatet av slettehandlingen.

Det angitte dokumentet slettes fra MongoDB-samlingen ved å bruke 'javascript'-filen:

Konklusjon

Vi har nå en grunnleggende forståelse for hvordan du bruker MongoDB med JavaScript via MongoDB Node.js-driveren. Vi demonstrerte det hele med de forskjellige Mongo DB-operasjonene, fra tilkobling til sletting av dokumentet med JavaScript. Herfra kan vi bygge mer komplekse applikasjoner og integrere MongoDB i Node.js-prosjektene etter behov.