Kako razviti MongoDB s JavaScriptom

Kako Razviti Mongodb S Javascriptom



Jedna od najznačajnijih prednosti korištenja MongoDB-a za web programere je njegova izvrsna integracija s JavaScriptom. MongoDB pruža izvorni JavaScript upravljački program koji programerima omogućuje izravnu interakciju s bazom podataka pomoću JavaScript koda. Sada je potrebno instalirati upravljački program MongoDB Node.js na stroj prije nego što počnemo stvarati MongoDB aplikacije u JavaScriptu. Za ovo moramo koristiti sljedeću naredbu:

npm i mongodb

Upravljački program nam omogućuje interakciju s MongoDB-om iz vašeg JavaScript koda i izvođenje raznih operacija poput povezivanja s bazom podataka, umetanja podataka, postavljanja upita za podatke i ažuriranja podataka.







Primjer 1: Razvijte MongoDB vezu s JavaScriptom

Započnite uspostavljanjem veze s MongoDB poslužiteljem s JavaScriptom koji se može postići pomoću modula 'npm' kao što je prethodno objašnjeno.



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

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klijent = novi MongoClient ( url ) ;
konst dbName = 'MyDB' ;

asinkroni funkcija glavni ( ) {
čekati klijenta. Spojiti ( ) ;
konzola. log ( 'Uspješno povezan s poslužiteljem' ) ;
konst db = klijent. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'Osobe' ) ;

povratak 'gotovo'. ;
}

glavni ( )
. zatim ( konzola. log )
. ulov ( konzola. greška )
. konačno ( ( ) => klijent. Zatvoriti ( ) ) ;

Prvo uvozimo potreban MongoClient iz modula “mongodb” u našu datoteku “File.js”. Zatim definiramo URL veze za MongoDB poslužitelj (url) i kreiramo novu instancu MongoClienta koristeći navedeni URL.



Nakon toga specificiramo naziv MongoDB baze podataka (dbName) koja će se koristiti u vezi. Zatim, asinkrona funkcija main() upravlja glavnim operacijama na MongoDB poslužitelju. Ovdje se povezujemo na MongoDB poslužitelj koristeći await client.connect(). Ovo je asinkrona operacija, pa funkcija pauzira dok se veza uspješno ne uspostavi. Možemo vidjeti poruku koja se pojavljuje na upitu nakon što je veza uspješno uspostavljena. Dobivamo referencu na bazu podataka s navedenim nazivom u “dbName” pomoću client.db(dbName).





Zatim dobivamo referencu na kolekciju pod nazivom 'Osobe' koristeći db.collection('Osobe'). Nakon definiranja funkcije main(), pozivamo main() za izvršavanje operacija. Ako se funkcija main() uspješno riješi, ispisuje rezultat (u ovom slučaju, to je niz 'gotovo') pomoću .then(console.log). Ako postoji pogreška tijekom izvođenja, hvata pogrešku i ispisuje je pomoću .catch(console.error). Konačno, osigurava da je veza MongoDB klijenta zatvorena pomoću .finally(() => client.close()).

Stoga, upit prikazuje poruku gdje je MongoDB veza uspostavljena u JavaScript datoteci:



Primjer 2: Umetnite MongoDB dokument s JavaScriptom

Sada kada je veza uspostavljena s MongoDB poslužiteljem, možemo koristiti MongoDB upite s JavaScriptom. Ovdje primjenjujemo upit za umetanje za umetanje jednog dokumenta.

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

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klijent = novi MongoClient ( url ) ;
konst dbName = 'MyDB' ;

asinkroni funkcija glavni ( ) {
konst db = klijent. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'korisnici' ) ;
konst umetniDoc =
čekaju naplatu. umetniJedan ( { Ime : 'Andrija' , dob : 23 } ) ;
konzola. log ( 'Dokument je umetnut =' , umetniDoc ) ;
povratak 'gotovo'. ;
}

glavni ( )
. zatim ( konzola. log )
. ulov ( konzola. greška )
. konačno ( ( ) => klijent. Zatvoriti ( ) ) ;

Funkciju main() definiramo kao asinkronu funkciju koja izvodi operaciju umetanja baze podataka. Unutar njega se povezujemo na MongoDB poslužitelj koristeći MongoClient instancu i URL. Zatim pristupamo navedenoj bazi podataka (MyDB) pomoću client.db(dbName) i dobivamo kolekciju 'korisnici' iz baze podataka pomoću db.collection('users').

Nakon toga umećemo dokument s nazivom polja kao 'Andrew' i dobi kao 23 u kolekciju 'korisnici' koristeći collection.insertOne(). Metoda insertOne() vraća obećanje koje se rješava s rezultatom umetanja. Dodani dokument prikazuje se pomoću console.log. Na kraju, zatvaramo vezu MongoDB klijenta.

Dokument koji je umetnut u kolekciju baze podataka MongoDB uspješno je umetnut kao što je prikazano u sljedećem izlazu:

Primjer 3: Pronađite MongoDB dokument s JavaScriptom

Slično, možemo primijeniti upit 'pronađi' MongoDB-a s JavaScriptom kako bismo pronašli dokument iz zbirke koja je stvorena u prethodnom primjeru.

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

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klijent = novi MongoClient ( url ) ;
konst dbName = 'MyDB' ;

asinkroni funkcija glavni ( ) {
konst db = klijent. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'korisnici' ) ;
konst findQuery = { Ime : 'Andrija' } ;
konst pronaćiDoc = čekaju naplatu. pronaći ( findQuery ) . toArray ( ) ;
konzola. log ( 'Dokument =' , pronaćiDoc ) ;
}

glavni ( )
. zatim ( konzola. log )
. ulov ( konzola. greška )
. konačno ( ( ) => klijent. Zatvoriti ( ) ) ;

Počinjemo s demonstracijom od glavne funkcije gdje se prvo spajamo na MongoDB poslužitelj koristeći kreiranu MongoClient instancu i navedeni URL. Zatim pristupamo MyDB bazi podataka pomoću client.db(dbName) gdje je dbName prethodno definirano ime baze podataka.

Zatim dobivamo referencu na kolekciju 'korisnici' iz baze podataka koristeći db.collection('korisnici'). Stvara se objekt upita pod nazivom 'findQuery' koji navodi da dokumenti koji se dohvaćaju trebaju imati polje naziva jednako 'Andrew'. Nakon toga, izvodimo upit 'pronađi' na kolekciji 'korisnici' koristeći collection.find(findQuery) koji vraća kursor na podudarne dokumente.

Ključna riječ 'await' koristi se prije collection.find() kako bi se osiguralo da je rezultat riješen prije nastavka. Rezultat operacije traženja pretvara se u niz dokumenata pomoću toArray(), a pronađeni dokumenti se pohranjuju u varijablu 'findDoc'. Dokumenti se zatim zapisuju u konzolu pomoću console.log.

Kao rezultat toga, pronađeni dokument MongoDB zbirke prikazuje se nakon izvršenja:

Primjer 4: Ažurirajte MongoDB dokument s JavaScriptom

Zatim izvodimo operaciju 'ažuriranja' u JavaScriptu kako bismo ažurirali navedeni dokument MongoDB kolekcije.

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

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klijent = novi MongoClient ( url ) ;
konst dbName = 'MyDB' ;

asinkroni funkcija glavni ( ) {
konst db = klijent. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'korisnici' ) ;
konst updateQuery = { Ime : 'Andrija' } ;
konst updateName = { $set : { Ime : 'Sam' } } ;
konst updateResult = čekaju naplatu. updateOne ( updateQuery , updateName ) ;
konzola. log ( 'Ažurirani dokument =' , updateResult ) ;
povratak 'gotovo' ;
}

glavni ( )
. zatim ( konzola. log )
. ulov ( konzola. greška )
. konačno ( ( ) => klijent. Zatvoriti ( ) ) ;

Kako bismo ažurirali dokument u kolekciji 'korisnici', pozivamo funkciju main(). Zatim pripremamo upit za 'ažuriranje' pomoću {name: ‘Andrew’ } kako bismo pronašli dokument s poljem imena jednakim “Andrew”. Nakon toga postavljamo polje naziva podudarnog dokumenta na 'Sam' koristeći { $set: { name: 'Sam' } }.

Definiramo upit 'ažuriranje' i operaciju 'ažuriranje' za izvođenje ažuriranja koristeći collection.updateOne(updateQuery, updateName). Metoda updateOne() ažurira prvi dokument koji odgovara upitu 'ažuriranje' i vraća objekt koji predstavlja rezultat ažuriranja. Varijabla “updateResult” sadrži ishod radnje ažuriranja.

Sljedeći izlazni zaslon prikazuje ažurirane rezultate upita:

Primjer 5: Brisanje MongoDB dokumenta s JavaScriptom

Konačno, koristimo metodu brisanja MongoDB-a za brisanje prethodnog dokumenta iz MongoDB-a unutar JavaScripta.

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

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klijent = novi MongoClient ( url ) ;
konst dbName = 'MyDB' ;

asinkroni funkcija glavni ( ) {
konst db = klijent. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'korisnici' ) ;
konst deleteQuery = { Ime : 'Sam' } ;
konst izbrisatiRezultat = čekaju naplatu. izbrisatiJedan ( deleteQuery ) ;
konzola. log ( 'Izbrisan dokument =' , izbrisatiRezultat ) ;
povratak 'gotovo' ;
}

glavni ( )
. zatim ( konzola. log )
. ulov ( konzola. greška )
. konačno ( ( ) => klijent. Zatvoriti ( ) ) ;

Stvaramo objekt upita 'delete' pod nazivom 'deleteQuery' koji navodi kriterije za dokumente koji se brišu. U ovom slučaju traži dokumente u kojima je polje imena jednako 'Sam'. Nakon pripreme upita za brisanje, primjenjujemo stvarnu operaciju brisanja pomoću metode deleteOne() objekta zbirke.

Prosljeđujemo “deleteQuery” kao argument za “deleteOne” koji briše prvi odgovarajući dokument koji zadovoljava navedene kriterije u upitu. Varijabla 'deleteResult' sadrži rezultat radnje brisanja.

Navedeni dokument se briše iz MongoDB zbirke pomoću datoteke 'javascript':

Zaključak

Sada imamo temeljno razumijevanje kako koristiti MongoDB s JavaScriptom putem MongoDB Node.js drajvera. Sve smo to demonstrirali s različitim Mongo DB operacijama, od povezivanja do brisanja dokumenta s JavaScriptom. Odavde možemo izraditi složenije aplikacije i po potrebi integrirati MongoDB u Node.js projekte.