Ena najpomembnejših prednosti uporabe MongoDB za spletne razvijalce je odlična integracija z JavaScriptom. MongoDB ponuja izvorni gonilnik JavaScript, ki razvijalcem omogoča interakcijo z bazo podatkov neposredno z uporabo kode JavaScript. Zdaj je treba namestiti gonilnik MongoDB Node.js na stroj, preden lahko začnemo ustvarjati aplikacije MongoDB v JavaScriptu. Za to moramo uporabiti naslednji ukaz:
npm i mongodbGonilnik nam omogoča interakcijo z MongoDB iz vaše kode JavaScript in izvajanje različnih operacij, kot je povezovanje z bazo podatkov, vstavljanje podatkov, poizvedovanje po podatkih in posodabljanje podatkov.
Primer 1: Razvijte povezavo MongoDB z JavaScriptom
Začnite z vzpostavitvijo povezave s strežnikom MongoDB z JavaScriptom, ki ga je mogoče doseči z uporabo modula »npm«, kot je opisano prej.
konst { MongoClient } = zahtevati ( 'mongodb' ) ;
konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst stranka = novo MongoClient ( url ) ;
konst dbName = 'MyDB' ;
asinh funkcijo glavni ( ) {
počakajte stranko. povezati ( ) ;
konzola. dnevnik ( 'Uspešno vzpostavljena povezava s strežnikom' ) ;
konst db = stranka. db ( dbName ) ;
konst zbirka = db. zbirka ( 'osebe' ) ;
vrnitev 'Končano.' ;
}
glavni ( )
. potem ( konzola. dnevnik )
. ulov ( konzola. napaka )
. končno ( ( ) => stranka. blizu ( ) ) ;
Najprej uvozimo zahtevani MongoClient iz modula »mongodb« v naši datoteki »File.js«. Nato definiramo URL povezave za strežnik MongoDB (url) in ustvarimo nov primerek MongoClient z navedenim URL-jem.
Po tem določimo ime baze podatkov MongoDB (dbName), ki bo uporabljena v povezavi. Nato asinhrona funkcija main() obravnava glavne operacije na strežniku MongoDB. Tukaj se povežemo s strežnikom MongoDB z uporabo await client.connect(). To je asinhrona operacija, zato se funkcija začasno ustavi, dokler povezava ni uspešno vzpostavljena. Ko je povezava uspešno vzpostavljena, si lahko ogledamo sporočilo, ki se pojavi v pozivu. Dobimo sklic na bazo podatkov z navedenim imenom v “dbName” z uporabo client.db(dbName).
Nato dobimo sklic na zbirko z imenom »Osebe« z uporabo db.collection('Osebe'). Po definiranju funkcije main() pokličemo main() za izvedbo operacij. Če se funkcija main() uspešno razreši, natisne rezultat (v tem primeru je to niz »done«) z uporabo .then(console.log). Če med izvajanjem pride do napake, jo prejame in natisne z uporabo .catch(console.error). Končno zagotovi, da je povezava odjemalca MongoDB zaprta z uporabo .finally(() => client.close()).
Zato poziv prikaže sporočilo, kjer je bila vzpostavljena povezava MongoDB v datoteki JavaScript:
Primer 2: Vstavite dokument MongoDB z JavaScriptom
Zdaj, ko je vzpostavljena povezava s strežnikom MongoDB, lahko uporabljamo poizvedbe MongoDB z JavaScriptom. Tukaj uporabimo poizvedbo za vstavljanje, da vstavimo en dokument.
konst { MongoClient } = zahtevati ( 'mongodb' ) ;konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst stranka = novo MongoClient ( url ) ;
konst dbName = 'MyDB' ;
asinh funkcijo glavni ( ) {
konst db = stranka. db ( dbName ) ;
konst zbirka = db. zbirka ( 'uporabniki' ) ;
konst vstaviDoc =
počakajte na prevzem. vstaviEno ( { ime : 'Andrej' , starost : 23 } ) ;
konzola. dnevnik ( 'Dokument je vstavljen =' , vstaviDoc ) ;
vrnitev 'Končano.' ;
}
glavni ( )
. potem ( konzola. dnevnik )
. ulov ( konzola. napaka )
. končno ( ( ) => stranka. blizu ( ) ) ;
Funkcijo main() definiramo kot asinhrono funkcijo, ki izvaja operacijo vstavljanja baze podatkov. Znotraj njega se s pomočjo instance MongoClient in URL-ja povežemo s strežnikom MongoDB. Nato dostopamo do določene baze podatkov (MyDB) z uporabo client.db(dbName) in pridobimo zbirko »uporabnikov« iz baze podatkov z uporabo db.collection('users').
Nato v zbirko »uporabniki« z uporabo collection.insertOne() vstavimo dokument z imenom polja »Andrew« in starostjo 23 let. Metoda insertOne() vrne obljubo, ki se razreši z rezultatom vstavljanja. Dodani dokument je prikazan z uporabo console.log. Na koncu zapremo povezavo odjemalca MongoDB.
Dokument, ki je vstavljen v zbirko baze podatkov MongoDB, je bil uspešno vstavljen, kot je prikazano v naslednjem izhodu:
Primer 3: Poiščite dokument MongoDB z JavaScriptom
Podobno lahko uporabimo poizvedbo »najdi« MongoDB z JavaScriptom, da poiščemo dokument iz zbirke, ki je bila ustvarjena v prejšnjem primeru.
konst { MongoClient } = zahtevati ( 'mongodb' ) ;konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst stranka = novo MongoClient ( url ) ;
konst dbName = 'MyDB' ;
asinh funkcijo glavni ( ) {
konst db = stranka. db ( dbName ) ;
konst zbirka = db. zbirka ( 'uporabniki' ) ;
konst findQuery = { ime : 'Andrej' } ;
konst najdiDoc = počakajte na prevzem. najti ( findQuery ) . toArray ( ) ;
konzola. dnevnik ( 'Dokument =' , najdiDoc ) ;
}
glavni ( )
. potem ( konzola. dnevnik )
. ulov ( konzola. napaka )
. končno ( ( ) => stranka. blizu ( ) ) ;
Začnemo s predstavitvijo glavne funkcije, kjer se najprej povežemo s strežnikom MongoDB z uporabo ustvarjene instance MongoClient in navedenega URL-ja. Nato dostopamo do baze podatkov MyDB z uporabo client.db(dbName), kjer je dbName predhodno definirano ime baze podatkov.
Nato dobimo sklic na zbirko »uporabniki« iz baze podatkov z db.collection('uporabniki'). Ustvarjen je poizvedbeni objekt z imenom »findQuery«, ki določa, da morajo imeti dokumenti, ki jih je treba pridobiti, imensko polje enako »Andrew«. Po tem izvedemo poizvedbo »najdi« v zbirki »uporabniki« z uporabo collection.find(findQuery), ki vrne kazalec na ujemajoče se dokumente.
Ključna beseda »await« se uporabi pred collection.find(), da se zagotovi, da je rezultat razrešen pred nadaljevanjem. Rezultat operacije iskanja se pretvori v matriko dokumentov z uporabo toArray(), najdeni dokumenti pa so shranjeni v spremenljivki »findDoc«. Dokumenti se nato prijavijo v konzolo z uporabo console.log.
Posledično se ob izvedbi prikaže najdeni dokument zbirke MongoDB:
Primer 4: Posodobite dokument MongoDB z JavaScriptom
Nato izvedemo operacijo »posodobi« v JavaScriptu, da posodobimo podani dokument zbirke MongoDB.
konst { MongoClient } = zahtevati ( 'mongodb' ) ;konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst stranka = novo MongoClient ( url ) ;
konst dbName = 'MyDB' ;
asinh funkcijo glavni ( ) {
konst db = stranka. db ( dbName ) ;
konst zbirka = db. zbirka ( 'uporabniki' ) ;
konst updateQuery = { ime : 'Andrej' } ;
konst updateName = { $set : { ime : 'sam' } } ;
konst updateResult = počakajte na prevzem. updateOne ( updateQuery , updateName ) ;
konzola. dnevnik ( 'Posodobljeni dokument =' , updateResult ) ;
vrnitev 'Končano' ;
}
glavni ( )
. potem ( konzola. dnevnik )
. ulov ( konzola. napaka )
. končno ( ( ) => stranka. blizu ( ) ) ;
Če želite posodobiti dokument v zbirki »uporabniki«, pokličemo funkcijo main(). Nato pripravimo poizvedbo »posodobitev« z uporabo { name: ‘Andrew’ }, da poiščemo dokument z imenom, ki je enako »Andrew«. Po tem smo polje z imenom ujemajočega se dokumenta nastavili na »Sam« z uporabo { $set: { name: ‘Sam’ } }.
Definiramo poizvedbo »posodobitev« in operacijo »posodobitev« za izvedbo posodobitve z uporabo collection.updateOne(updateQuery, updateName). Metoda updateOne() posodobi prvi dokument, ki se ujema s poizvedbo »posodobitev«, in vrne objekt, ki predstavlja rezultat posodobitve. Spremenljivka »updateResult« vsebuje rezultat dejanja posodobitve.
Na naslednjem izhodnem zaslonu so prikazani rezultati posodobljene poizvedbe:
Primer 5: Brisanje dokumenta MongoDB z JavaScriptom
Končno uporabimo metodo brisanja MongoDB za brisanje prejšnjega dokumenta iz MongoDB znotraj JavaScripta.
konst { MongoClient } = zahtevati ( 'mongodb' ) ;konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst stranka = novo MongoClient ( url ) ;
konst dbName = 'MyDB' ;
asinh funkcijo glavni ( ) {
konst db = stranka. db ( dbName ) ;
konst zbirka = db. zbirka ( 'uporabniki' ) ;
konst deleteQuery = { ime : 'sam' } ;
konst deleteResult = počakajte na prevzem. deleteOne ( deleteQuery ) ;
konzola. dnevnik ( 'Izbrisan dokument =' , deleteResult ) ;
vrnitev 'Končano' ;
}
glavni ( )
. potem ( konzola. dnevnik )
. ulov ( konzola. napaka )
. končno ( ( ) => stranka. blizu ( ) ) ;
Ustvarimo objekt poizvedbe »delete« z imenom »deleteQuery«, ki določa kriterije za dokumente, ki jih je treba izbrisati. V tem primeru išče dokumente, kjer je polje z imenom enako »Sam«. Ko pripravimo poizvedbo za brisanje, uporabimo dejansko operacijo brisanja z metodo deleteOne() objekta zbirke.
Posredujemo »deleteQuery« kot argument »deleteOne«, ki izbriše prvi ujemajoči se dokument, ki ustreza podanim kriterijem v poizvedbi. Spremenljivka »deleteResult« vsebuje rezultat dejanja brisanja.
Naveden dokument je izbrisan iz zbirke MongoDB z uporabo datoteke »javascript«:
Zaključek
Zdaj imamo temeljno razumevanje, kako uporabljati MongoDB z JavaScriptom prek gonilnika MongoDB Node.js. Vse smo prikazali z različnimi operacijami Mongo DB, od povezave do izbrisa dokumenta z JavaScriptom. Od tu lahko gradimo bolj zapletene aplikacije in po potrebi integriramo MongoDB v projekte Node.js.