Kaip sukurti „MongoDB“ naudojant „JavaScript“.

Kaip Sukurti Mongodb Naudojant Javascript



Vienas iš svarbiausių MongoDB naudojimo pranašumų žiniatinklio kūrėjams yra jo puiki integracija su JavaScript. „MongoDB“ teikia vietinę „JavaScript“ tvarkyklę, leidžiančią kūrėjams tiesiogiai sąveikauti su duomenų baze naudojant „JavaScript“ kodą. Dabar įrenginyje būtina įdiegti MongoDB Node.js tvarkyklę, kad galėtume pradėti kurti MongoDB programas JavaScript. Tam turime naudoti šią komandą:

npm i mongodb

Vairuotojas leidžia mums sąveikauti su MongoDB iš jūsų JavaScript kodo ir atlikti įvairias operacijas, tokias kaip prisijungimas prie duomenų bazės, duomenų įterpimas, duomenų užklausa ir duomenų atnaujinimas.







1 pavyzdys: Sukurkite MongoDB ryšį su JavaScript

Pradėkite užmegzdami ryšį su „MongoDB“ serveriu naudodami „JavaScript“, kurį galima atlikti naudojant „npm“ modulį, kaip aptarta anksčiau.



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

konst url = „mongodb:// 127.0.0.1:27017 ;
konst klientas = naujas MongoClient ( url ) ;
konst dbName = „Mano DB“ ;

async funkcija pagrindinis ( ) {
laukti kliento. Prisijungti ( ) ;
konsolė. žurnalas ( „Sėkmingai prisijungta prie serverio“ ) ;
konst db = klientas. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'asmenys' ) ;

grąžinti 'padaryta.' ;
}

pagrindinis ( )
. tada ( konsolė. žurnalas )
. sugauti ( konsolė. klaida )
. pagaliau ( ( ) => klientas. Uždaryti ( ) ) ;

Pirmiausia importuojame reikiamą MongoClient iš „mongodb“ modulio, esančio faile „File.js“. Tada apibrėžiame MongoDB serverio (url) ryšio URL ir sukuriame naują MongoClient egzempliorių naudodami nurodytą URL.



Po to nurodome MongoDB duomenų bazės pavadinimą (dbName), kuris bus naudojamas ryšiui. Tada asinchroninė main() funkcija tvarko pagrindines MongoDB serverio operacijas. Čia mes prisijungiame prie MongoDB serverio naudodami await client.connect(). Tai asinchroninė operacija, todėl funkcija pristabdoma, kol sėkmingai užmezgamas ryšys. Sėkmingai užmezgus ryšį, matome pranešimą, kuris pasirodo raginime. Mes gauname nuorodą į duomenų bazę su nurodytu pavadinimu „dbName“, naudodami client.db(dbName).





Tada gauname nuorodą į kolekciją, pavadintą „Asmenys“, naudodami db.collection („Asmenys“). Apibrėžę main() funkciją, iškviečiame main() operacijoms vykdyti. Jei funkcija main() sėkmingai išspręsta, ji išspausdina rezultatą (šiuo atveju tai yra eilutė 'atlikta'), naudodama .then(console.log). Jei vykdant įvyksta klaida, ji užfiksuoja klaidą ir išspausdina ją naudodama .catch(console.error). Galiausiai užtikrinama, kad MongoDB kliento ryšys būtų uždarytas naudojant .finally(() => client.close()).

Taigi, raginimas rodo pranešimą, kuriame „JavaScript“ faile buvo užmegztas MongoDB ryšys:



2 pavyzdys: įterpkite MongoDB dokumentą su JavaScript

Dabar, kai užmegztas ryšys su MongoDB serveriu, galime naudoti MongoDB užklausas su JavaScript. Čia taikome įterpimo užklausą, kad įterptume vieną dokumentą.

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

konst url = „mongodb:// 127.0.0.1:27017 ;
konst klientas = naujas MongoClient ( url ) ;
konst dbName = „Mano DB“ ;

async funkcija pagrindinis ( ) {
konst db = klientas. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'vartotojai' ) ;
konst įterptiDoc =
laukti kolekcijos. įterpti vieną ( { vardas : 'Andrius' , amžiaus : 23 } ) ;
konsolė. žurnalas ( 'Dokumentas įdėtas =' , įterptiDoc ) ;
grąžinti 'padaryta.' ;
}

pagrindinis ( )
. tada ( konsolė. žurnalas )
. sugauti ( konsolė. klaida )
. pagaliau ( ( ) => klientas. Uždaryti ( ) ) ;

Funkciją main() apibrėžiame kaip asinchroninę funkciją, kuri atlieka duomenų bazės įterpimo operaciją. Jo viduje mes prisijungiame prie MongoDB serverio naudodami MongoClient egzempliorių ir URL. Tada mes pasiekiame nurodytą duomenų bazę (MyDB) naudodami client.db(dbName) ir gauname 'vartotojų' rinkinį iš duomenų bazės naudodami db.collection('users').

Po to į kolekciją „vartotojai“ įterpiame dokumentą, kurio laukų pavadinimas yra „Andrew“ ir amžius yra 23 metai, naudodami collection.insertOne(). Metodas insertOne() grąžina pažadą, kuris išsprendžiamas kartu su įterpimo rezultatu. Pridėtas dokumentas rodomas naudojant console.log. Galiausiai uždarome MongoDB kliento ryšį.

Dokumentas, įterptas į MongoDB duomenų bazės kolekciją, buvo sėkmingai įterptas, kaip parodyta šioje išvestyje:

3 pavyzdys: Raskite MongoDB dokumentą su JavaScript

Panašiai galime pritaikyti MongoDB užklausą „rasti“ naudodami „JavaScript“, kad rastume dokumentą iš kolekcijos, kuri buvo sukurta ankstesniame pavyzdyje.

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

konst url = „mongodb:// 127.0.0.1:27017 ;
konst klientas = naujas MongoClient ( url ) ;
konst dbName = „Mano DB“ ;

async funkcija pagrindinis ( ) {
konst db = klientas. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'vartotojai' ) ;
konst FindQuery = { vardas : 'Andrius' } ;
konst rastiDok = laukti kolekcijos. rasti ( FindQuery ) . toArray ( ) ;
konsolė. žurnalas ( 'Dokumentas =' , rastiDoc ) ;
}

pagrindinis ( )
. tada ( konsolė. žurnalas )
. sugauti ( konsolė. klaida )
. pagaliau ( ( ) => klientas. Uždaryti ( ) ) ;

Pradedame demonstravimu nuo pagrindinės funkcijos, kur pirmiausia prisijungiame prie MongoDB serverio naudodami sukurtą MongoClient egzempliorių ir nurodytą URL. Tada pasiekiame MyDB duomenų bazę naudodami client.db(dbName), kur dbName yra anksčiau apibrėžtas duomenų bazės pavadinimas.

Tada iš duomenų bazės gauname nuorodą į „vartotojų“ kolekciją naudojant db.collection('users'). Sukuriamas užklausos objektas pavadinimu „findQuery“, kuris nurodo, kad nuskaitytų dokumentų pavadinimo laukas turi būti lygus „Andrew“. Po to atliekame užklausą „rasti“ rinkinyje „naudotojai“, naudodami collection.find(findQuery), kuri grąžina žymeklį į suderintus dokumentus.

Raktinis žodis „laukti“ naudojamas prieš collection.find() siekiant užtikrinti, kad rezultatas būtų išspręstas prieš tęsiant. Surasti operacijos rezultatas konvertuojamas į dokumentų masyvą naudojant toArray(), o rasti dokumentai saugomi „findDoc“ kintamajame. Tada dokumentai registruojami konsolėje naudojant console.log.

Dėl to rastas MongoDB kolekcijos dokumentas rodomas vykdant:

4 pavyzdys: atnaujinkite MongoDB dokumentą naudodami JavaScript

Tada „JavaScript“ atliekame „atnaujinimo“ operaciją, kad atnaujintume nurodytą MongoDB kolekcijos dokumentą.

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

konst url = „mongodb:// 127.0.0.1:27017 ;
konst klientas = naujas MongoClient ( url ) ;
konst dbName = „Mano DB“ ;

async funkcija pagrindinis ( ) {
konst db = klientas. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'vartotojai' ) ;
konst atnaujinti užklausą = { vardas : 'Andrius' } ;
konst atnaujinimo pavadinimas = { $set : { vardas : 'pats' } } ;
konst atnaujinimo rezultatas = laukti kolekcijos. updateOne ( atnaujinti užklausą , atnaujinimo pavadinimas ) ;
konsolė. žurnalas ( 'Atnaujintas dokumentas =' , atnaujinimo rezultatas ) ;
grąžinti 'padaryta' ;
}

pagrindinis ( )
. tada ( konsolė. žurnalas )
. sugauti ( konsolė. klaida )
. pagaliau ( ( ) => klientas. Uždaryti ( ) ) ;

Norėdami atnaujinti dokumentą „vartotojų“ kolekcijoje, iškviečiame funkciją main(). Tada parengiame „atnaujinimo“ užklausą naudodami { name: 'Andrew' }, kad rastume dokumentą, kurio pavadinimo laukas lygus Andriui. Po to atitikusio dokumento pavadinimo lauką nustatėme į „Sam“, naudodami { $set: { name: 'Sam' } }.

Apibrėžiame užklausą „atnaujinti“ ir operaciją „atnaujinti“, kad atliktume atnaujinimą naudodami collection.updateOne(updateQuery, updateName). Metodas updateOne() atnaujina pirmąjį dokumentą, atitinkantį „update“ užklausą, ir grąžina objektą, nurodantį naujinimo rezultatą. Kintamajame „updateResult“ yra naujinimo veiksmo rezultatas.

Tolesniame išvesties ekrane rodomi atnaujintos užklausos rezultatai:

5 pavyzdys: ištrinkite MongoDB dokumentą su JavaScript

Galiausiai, mes naudojame MongoDB trynimo metodą, kad ištrintume ankstesnį dokumentą iš MongoDB per JavaScript.

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

konst url = „mongodb:// 127.0.0.1:27017 ;
konst klientas = naujas MongoClient ( url ) ;
konst dbName = „Mano DB“ ;

async funkcija pagrindinis ( ) {
konst db = klientas. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'vartotojai' ) ;
konst ištrinti užklausą = { vardas : 'pats' } ;
konst ištrinti rezultatą = laukti kolekcijos. ištrinti vieną ( ištrinti užklausą ) ;
konsolė. žurnalas ( „Ištrintas dokumentas =“ , ištrinti rezultatą ) ;
grąžinti 'padaryta' ;
}

pagrindinis ( )
. tada ( konsolė. žurnalas )
. sugauti ( konsolė. klaida )
. pagaliau ( ( ) => klientas. Uždaryti ( ) ) ;

Sukuriame „delete“ užklausos objektą pavadinimu „deleteQuery“, kuris nurodo kriterijus, pagal kuriuos reikia ištrinti dokumentus. Šiuo atveju ji ieško dokumentų, kuriuose pavadinimo laukas yra lygus „Sam“. Parengę ištrynimo užklausą, mes taikome tikrąją ištrynimo operaciją naudodami kolekcijos objekto metodą deleteOne().

Perduodame „deleteQuery“ kaip argumentą „deleteOne“, kuris ištrina pirmąjį atitinkantį dokumentą, atitinkantį užklausoje nurodytus kriterijus. Kintamajame „deleteResult“ yra ištrynimo veiksmo rezultatas.

Nurodytas dokumentas ištrinamas iš MongoDB kolekcijos naudojant „javascript“ failą:

Išvada

Dabar turime esminį supratimą, kaip naudoti MongoDB su JavaScript naudojant MongoDB Node.js tvarkyklę. Mes visa tai pademonstravome su skirtingomis Mongo DB operacijomis, nuo prisijungimo iki dokumento ištrynimo naudojant JavaScript. Iš čia galime kurti sudėtingesnes programas ir prireikus integruoti MongoDB į Node.js projektus.