Sådan udvikles MongoDB med JavaScript

Sadan Udvikles Mongodb Med Javascript



En af de vigtigste fordele ved at bruge MongoDB til webudviklere er dens fremragende integration med JavaScript. MongoDB leverer en indbygget JavaScript-driver, der gør det muligt for udviklerne at interagere med databasen direkte ved hjælp af JavaScript-koden. Nu er det nødvendigt at installere MongoDB Node.js-driveren på maskinen, før vi kan begynde at oprette MongoDB-applikationerne i JavaScript. Vi skal bruge følgende kommando til dette:

npm i mongodb

Driveren giver os mulighed for at interagere med MongoDB fra din JavaScript-kode og udføre forskellige operationer som at oprette forbindelse til databasen, indsætte dataene, forespørge dataene og opdatere dataene.







Eksempel 1: Udvikl en MongoDB-forbindelse med JavaScript

Begynd med at etablere forbindelsen til MongoDB-serveren med JavaScript, der kan opnås ved hjælp af 'npm'-modulet som diskuteret tidligere.



konst { MongoClient } = kræve ( 'mongodb' ) ;

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

asynkron fungere vigtigste ( ) {
afvente klient. Opret forbindelse ( ) ;
konsol. log ( 'Forbundet til serveren lykkedes' ) ;
konst db = klient. db ( dbNavn ) ;
konst kollektion = db. kollektion ( 'Personer' ) ;

Vend tilbage 'Færdig.' ;
}

vigtigste ( )
. derefter ( konsol. log )
. fangst ( konsol. fejl )
. endelig ( ( ) => klient. tæt ( ) ) ;

Vi importerer først den nødvendige MongoClient fra 'mongodb'-modulet i vores 'File.js'-fil. Vi definerer derefter forbindelses-URL'en for MongoDB-serveren (url) og opretter en ny MongoClient-instans ved hjælp af den angivne URL.



Derefter angiver vi navnet på MongoDB-databasen (dbName), der skal bruges i forbindelsen. Dernæst håndterer den asynkrone main()-funktion hovedoperationerne på MongoDB-serveren. Her forbinder vi til MongoDB-serveren ved hjælp af await client.connect(). Dette er en asynkron operation, så funktionen pauser, indtil forbindelsen er etableret. Vi får vist meddelelsen, der vises på prompten, når forbindelsen er blevet oprettet. Vi får en reference til databasen med det angivne navn i 'dbName' ved hjælp af client.db(dbName).





Derefter får vi en reference til samlingen med navnet 'Personer' ved hjælp af db.collection('Personer'). Efter at have defineret funktionen main() kalder vi main() for at udføre operationerne. Hvis funktionen main() løses med succes, udskriver den resultatet (i dette tilfælde er det 'done'-strengen) ved hjælp af .then(console.log). Hvis der er en fejl under udførelsen, fanger den fejlen og udskriver den ved hjælp af .catch(console.error). Endelig sikrer det, at MongoDB-klientforbindelsen lukkes ved hjælp af .finally(() => client.close()).

Derfor viser prompten meddelelsen, hvor MongoDB-forbindelsen er blevet etableret i JavaScript-filen:



Eksempel 2: Indsæt et MongoDB-dokument med JavaScript

Nu hvor forbindelsen er etableret med MongoDB-serveren, kan vi bruge MongoDB-forespørgslerne med JavaScript. Her anvender vi indsæt-forespørgslen til at indsætte det enkelte dokument.

konst { MongoClient } = kræve ( 'mongodb' ) ;

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

asynkron fungere vigtigste ( ) {
konst db = klient. db ( dbNavn ) ;
konst kollektion = db. kollektion ( 'brugere' ) ;
konst indsæt dok =
afventer afhentning. indsætOne ( { navn : 'Andrew' , alder : 23 } ) ;
konsol. log ( 'Dokument indsat =' , indsæt dok ) ;
Vend tilbage 'Færdig.' ;
}

vigtigste ( )
. derefter ( konsol. log )
. fangst ( konsol. fejl )
. endelig ( ( ) => klient. tæt ( ) ) ;

Vi definerer funktionen main() som en asynkron funktion, der udfører databaseindsættelsesoperationen. Inde i den forbinder vi til MongoDB-serveren ved hjælp af MongoClient-forekomsten og URL'en. Derefter får vi adgang til den specificerede database (MyDB) ved hjælp af client.db(dbName) og henter 'brugere'-samlingen fra databasen ved hjælp af db.collection('brugere').

Derefter indsætter vi et dokument med felternes navn som 'Andrew' og alderen som 23 i 'brugere'-samlingen ved hjælp af collection.insertOne(). Metoden insertOne() returnerer et løfte, der løses med resultatet af indsættelsen. Det tilføjede dokument vises ved hjælp af console.log. Til sidst lukker vi MongoDB-klientforbindelsen.

Dokumentet, der er indsat i MongoDB-databasesamlingen, er blevet indsat som vist i følgende output:

Eksempel 3: Find et MongoDB-dokument med JavaScript

På samme måde kan vi anvende 'find'-forespørgslen fra MongoDB med JavaScript for at finde dokumentet fra samlingen, der blev oprettet i det foregående eksempel.

konst { MongoClient } = kræve ( 'mongodb' ) ;

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

asynkron fungere vigtigste ( ) {
konst db = klient. db ( dbNavn ) ;
konst kollektion = db. kollektion ( 'brugere' ) ;
konst findQuery = { navn : 'Andrew' } ;
konst findDoc = afventer afhentning. Find ( findQuery ) . tilArray ( ) ;
konsol. log ( 'Dokument =' , findDoc ) ;
}

vigtigste ( )
. derefter ( konsol. log )
. fangst ( konsol. fejl )
. endelig ( ( ) => klient. tæt ( ) ) ;

Vi begynder med demonstrationen fra hovedfunktionen, hvor vi først forbinder til MongoDB-serveren ved hjælp af den oprettede MongoClient-instans og den angivne URL. Derefter får vi adgang til MyDB-databasen ved hjælp af client.db(dbName), hvor dbName er det tidligere definerede databasenavn.

Dernæst får vi en reference til 'brugere'-samlingen fra databasen ved hjælp af db.collection('brugere'). Der oprettes et forespørgselsobjekt ved navn 'findQuery', som angiver, at de dokumenter, der skal hentes, skal have navnefeltet lig med 'Andrew'. Derefter udfører vi en 'find'-forespørgsel på 'brugere'-samlingen ved hjælp af collection.find(findQuery), som returnerer en markør til de matchede dokumenter.

Nøgleordet 'afvent' bruges før collection.find() for at sikre, at resultatet er løst, før du fortsætter. Resultatet af find-operationen konverteres til et array af dokumenter ved hjælp af toArray(), og de fundne dokumenter gemmes i 'findDoc'-variablen. Dokumenterne logges derefter på konsollen ved hjælp af console.log.

Som et resultat vises det fundne dokument fra MongoDB-samlingen ved udførelse:

Eksempel 4: Opdater et MongoDB-dokument med JavaScript

Dernæst udfører vi 'opdatering'-operationen i JavaScript for at opdatere det angivne dokument i MongoDB-samlingen.

konst { MongoClient } = kræve ( 'mongodb' ) ;

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

asynkron fungere vigtigste ( ) {
konst db = klient. db ( dbNavn ) ;
konst kollektion = db. kollektion ( 'brugere' ) ;
konst updateQuery = { navn : 'Andrew' } ;
konst opdateringsnavn = { $sæt : { navn : 'Ham selv' } } ;
konst opdatereResultat = afventer afhentning. updateOne ( updateQuery , opdateringsnavn ) ;
konsol. log ( 'Opdateret dokument =' , opdatereResultat ) ;
Vend tilbage 'Færdig' ;
}

vigtigste ( )
. derefter ( konsol. log )
. fangst ( konsol. fejl )
. endelig ( ( ) => klient. tæt ( ) ) ;

For at opdatere et dokument i 'brugere'-samlingen, aktiverer vi funktionen main(). Vi forbereder derefter en 'opdatering'-forespørgsel ved hjælp af { name: 'Andrew' } for at finde dokumentet med navnefeltet lig med 'Andrew'. Derefter satte vi navnefeltet for det matchede dokument til 'Sam' ved hjælp af { $set: { name: 'Sam' } }.

Vi definerer 'update'-forespørgslen og 'update'-operationen for at udføre opdateringen ved hjælp af collection.updateOne(updateQuery, updateName). UpdateOne()-metoden opdaterer det første dokument, der matcher 'opdatering'-forespørgslen, og returnerer et objekt, der repræsenterer resultatet af opdateringen. Variablen 'updateResult' indeholder resultatet af opdateringshandlingen.

Den efterfølgende outputskærm viser resultaterne af den opdaterede forespørgsel:

Eksempel 5: Slet et MongoDB-dokument med JavaScript

Endelig bruger vi slettemetoden fra MongoDB til at slette det tidligere dokument fra MongoDB i JavaScript.

konst { MongoClient } = kræve ( 'mongodb' ) ;

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

asynkron fungere vigtigste ( ) {
konst db = klient. db ( dbNavn ) ;
konst kollektion = db. kollektion ( 'brugere' ) ;
konst sletForespørgsel = { navn : 'Ham selv' } ;
konst sletResultat = afventer afhentning. sletOne ( sletForespørgsel ) ;
konsol. log ( 'Slettet dokument =' , sletResultat ) ;
Vend tilbage 'Færdig' ;
}

vigtigste ( )
. derefter ( konsol. log )
. fangst ( konsol. fejl )
. endelig ( ( ) => klient. tæt ( ) ) ;

Vi opretter et 'delete' forespørgselsobjekt ved navn 'deleteQuery', som specificerer kriterierne for de dokumenter, der skal slettes. I dette tilfælde søger den efter dokumenter, hvor navnefeltet er lig med 'Sam'. Efter at have forberedt sletteforespørgslen anvender vi den faktiske sletningsoperation ved hjælp af deleteOne()-metoden for samlingsobjektet.

Vi sender 'deleteQuery' som et argument til 'deleteOne', som sletter det første matchende dokument, der opfylder de angivne kriterier i forespørgslen. Variablen 'deleteResult' indeholder resultatet af sletningshandlingen.

Det angivne dokument slettes fra MongoDB-samlingen ved hjælp af 'javascript'-filen:

Konklusion

Vi har nu en grundlæggende forståelse af, hvordan man bruger MongoDB med JavaScript via MongoDB Node.js-driveren. Vi demonstrerede det hele med de forskellige Mongo DB operationer, fra forbindelse til sletning af dokumentet med JavaScript. Herfra kan vi bygge mere komplekse applikationer og integrere MongoDB i Node.js-projekterne efter behov.