Kā izstrādāt MongoDB, izmantojot JavaScript

Ka Izstradat Mongodb Izmantojot Javascript



Viena no nozīmīgākajām MongoDB izmantošanas priekšrocībām tīmekļa izstrādātājiem ir tā lieliskā integrācija ar JavaScript. MongoDB nodrošina vietējo JavaScript draiveri, kas ļauj izstrādātājiem mijiedarboties ar datu bāzi tieši, izmantojot JavaScript kodu. Tagad datorā ir jāinstalē MongoDB Node.js draiveris, lai mēs varētu sākt veidot MongoDB lietojumprogrammas JavaScript. Šim nolūkam mums ir jāizmanto šāda komanda:

npm i mongodb

Draiveris ļauj mums mijiedarboties ar MongoDB no jūsu JavaScript koda un veikt dažādas darbības, piemēram, savienojumu ar datu bāzi, datu ievietošanu, datu vaicāšanu un datu atjaunināšanu.







1. piemērs: izveidojiet MongoDB savienojumu ar JavaScript

Sāciet, izveidojot savienojumu ar MongoDB serveri, izmantojot JavaScript, ko var veikt, izmantojot moduli “npm”, kā aprakstīts iepriekš.



konst { Mongoklients } = pieprasīt ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klients = jauns Mongoklients ( url ) ;
konst dbName = 'MyDB' ;

asinhrons funkciju galvenais ( ) {
gaidīt klientu. savienot ( ) ;
konsole. žurnāls ( 'Savienojums ar serveri veiksmīgi izveidots' ) ;
konst db = klients. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'Personas' ) ;

atgriezties 'pabeigts'. ;
}

galvenais ( )
. tad ( konsole. žurnāls )
. noķert ( konsole. kļūda )
. beidzot ( ( ) => klients. aizveriet ( ) ) ;

Vispirms mēs importējam nepieciešamo MongoClient no “mongodb” moduļa mūsu failā “File.js”. Pēc tam mēs definējam MongoDB servera (url) savienojuma URL un izveidojam jaunu MongoClient gadījumu, izmantojot norādīto URL.



Pēc tam mēs norādām savienojumā izmantojamās MongoDB datu bāzes nosaukumu (dbName). Tālāk asinhronā main() funkcija apstrādā galvenās operācijas MongoDB serverī. Šeit mēs izveidojam savienojumu ar MongoDB serveri, izmantojot await client.connect(). Šī ir asinhrona darbība, tāpēc funkcija tiek apturēta, līdz savienojums ir veiksmīgi izveidots. Kad savienojums ir veiksmīgi izveidots, mēs redzam ziņojumu, kas tiek parādīts uzvednē. Mēs iegūstam atsauci uz datubāzi ar norādīto nosaukumu “dbName”, izmantojot client.db(dbName).





Pēc tam mēs saņemam atsauci uz kolekciju ar nosaukumu “Personas”, izmantojot db.collection('Personas'). Pēc funkcijas main() definēšanas mēs izsaucam main(), lai izpildītu darbības. Ja funkcija main() tiek veiksmīgi atrisināta, tā izdrukā rezultātu (šajā gadījumā tā ir 'pabeigta' virkne), izmantojot .then(console.log). Ja izpildes laikā rodas kļūda, tā uztver kļūdu un izdrukā to, izmantojot .catch(console.error). Visbeidzot, tas nodrošina, ka MongoDB klienta savienojums tiek aizvērts, izmantojot .finally(() => client.close()).

Tādējādi uzvedne parāda ziņojumu, kurā JavaScript failā ir izveidots MongoDB savienojums:



2. piemērs: ievietojiet MongoDB dokumentu ar JavaScript

Tagad, kad savienojums ar MongoDB serveri ir izveidots, mēs varam izmantot MongoDB vaicājumus ar JavaScript. Šeit mēs izmantojam ievietošanas vaicājumu, lai ievietotu vienu dokumentu.

konst { Mongoklients } = pieprasīt ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klients = jauns Mongoklients ( url ) ;
konst dbName = 'MyDB' ;

asinhrons funkciju galvenais ( ) {
konst db = klients. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'lietotāji' ) ;
konst ievietotDok =
gaidu kolekciju. ievietot vienu ( { nosaukums : 'Andrew' , vecums : 23 } ) ;
konsole. žurnāls ( 'Dokuments ievietots =' , ievietotDok ) ;
atgriezties 'pabeigts'. ;
}

galvenais ( )
. tad ( konsole. žurnāls )
. noķert ( konsole. kļūda )
. beidzot ( ( ) => klients. aizveriet ( ) ) ;

Mēs definējam galveno() funkciju kā asinhronu funkciju, kas veic datu bāzes ievietošanas darbību. Tajā mēs izveidojam savienojumu ar MongoDB serveri, izmantojot MongoClient instanci un URL. Pēc tam mēs piekļūstam norādītajai datu bāzei (MyDB), izmantojot klientu.db(dbName), un iegūstam kolekciju 'users' no datu bāzes, izmantojot db.collection('users').

Pēc tam mēs ievietojam dokumentu ar lauku nosaukumu “Andrew” un vecumu 23 gadu kolekcijā “users”, izmantojot collection.insertOne(). Metode insertOne() atgriež solījumu, kas tiek atrisināts līdz ar ievietošanas rezultātu. Pievienotais dokuments tiek parādīts, izmantojot console.log. Visbeidzot, mēs aizveram MongoDB klienta savienojumu.

Dokuments, kas ievietots MongoDB datu bāzes kolekcijā, ir veiksmīgi ievietots, kā parādīts šajā izvadē:

3. piemērs: atrodiet MongoDB dokumentu ar JavaScript

Līdzīgi mēs varam izmantot MongoDB vaicājumu “atrast” ar JavaScript, lai atrastu dokumentu no kolekcijas, kas tika izveidota iepriekšējā piemērā.

konst { Mongoklients } = pieprasīt ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klients = jauns Mongoklients ( url ) ;
konst dbName = 'MyDB' ;

asinhrons funkciju galvenais ( ) {
konst db = klients. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'lietotāji' ) ;
konst FindQuery = { nosaukums : 'Andrew' } ;
konst atrastDok = gaidu kolekciju. atrast ( FindQuery ) . toArray ( ) ;
konsole. žurnāls ( 'Dokuments =' , atrastDok ) ;
}

galvenais ( )
. tad ( konsole. žurnāls )
. noķert ( konsole. kļūda )
. beidzot ( ( ) => klients. aizveriet ( ) ) ;

Mēs sākam ar demonstrāciju no galvenās funkcijas, kur vispirms izveidojam savienojumu ar MongoDB serveri, izmantojot izveidoto MongoClient instanci un norādīto URL. Pēc tam mēs piekļūstam MyDB datu bāzei, izmantojot klientu.db(dbName), kur dbName ir iepriekš definētais datu bāzes nosaukums.

Tālāk mēs iegūstam atsauci uz kolekciju 'lietotāji' no datu bāzes, izmantojot db.collection('users'). Tiek izveidots vaicājuma objekts ar nosaukumu “findQuery”, kas norāda, ka izgūstamajiem dokumentiem nosaukuma laukam jābūt vienādam ar “Andrew”. Pēc tam mēs veicam “atrast” vaicājumu “lietotāju” kolekcijā, izmantojot collection.find(findQuery), kas atgriež kursoru uz saskaņotajiem dokumentiem.

Atslēgvārds “wait” tiek izmantots pirms collection.find(), lai nodrošinātu, ka rezultāts ir atrisināts pirms turpināšanas. Meklēšanas darbības rezultāts tiek pārveidots par dokumentu masīvu, izmantojot toArray(), un atrastie dokumenti tiek saglabāti mainīgajā “findDoc”. Pēc tam dokumenti tiek reģistrēti konsolē, izmantojot console.log.

Rezultātā atrastais MongoDB kolekcijas dokuments tiek parādīts izpildes laikā:

4. piemērs: atjauniniet MongoDB dokumentu ar JavaScript

Pēc tam mēs veicam “atjaunināšanas” operāciju JavaScript, lai atjauninātu norādīto MongoDB kolekcijas dokumentu.

konst { Mongoklients } = pieprasīt ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klients = jauns Mongoklients ( url ) ;
konst dbName = 'MyDB' ;

asinhrons funkciju galvenais ( ) {
konst db = klients. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'lietotāji' ) ;
konst updateQuery = { nosaukums : 'Andrew' } ;
konst updateName = { $set : { nosaukums : 'pats' } } ;
konst updateResult = gaidu kolekciju. updateOne ( updateQuery , updateName ) ;
konsole. žurnāls ( 'Atjaunināts dokuments =' , updateResult ) ;
atgriezties 'pabeigts' ;
}

galvenais ( )
. tad ( konsole. žurnāls )
. noķert ( konsole. kļūda )
. beidzot ( ( ) => klients. aizveriet ( ) ) ;

Lai atjauninātu dokumentu kolekcijā “lietotāji”, mēs izsaucam galveno () funkciju. Pēc tam mēs sagatavojam 'atjaunināšanas' vaicājumu, izmantojot { name: 'Andrew' }, lai atrastu dokumentu, kura nosaukuma lauks ir vienāds ar 'Andrew'. Pēc tam mēs iestatījām atbilstošā dokumenta nosaukuma lauku uz “Sam”, izmantojot { $set: { name: ‘Sam’ } }.

Mēs definējam “update” vaicājumu un “update” darbību, lai veiktu atjaunināšanu, izmantojot collection.updateOne(updateQuery, updateName). Metode updateOne() atjaunina pirmo dokumentu, kas atbilst vaicājumam “update”, un atgriež objektu, kas attēlo atjaunināšanas rezultātu. Mainīgais “updateResult” satur atjaunināšanas darbības rezultātu.

Nākamajā izvades ekrānā tiek parādīti atjauninātā vaicājuma rezultāti:

5. piemērs: izdzēsiet MongoDB dokumentu, izmantojot JavaScript

Visbeidzot, mēs izmantojam MongoDB dzēšanas metodi, lai dzēstu iepriekšējo dokumentu no MongoDB JavaScript ietvaros.

konst { Mongoklients } = pieprasīt ( 'mongodb' ) ;

konst url = 'mongodb:// 127.0.0.1:27017 ' ;
konst klients = jauns Mongoklients ( url ) ;
konst dbName = 'MyDB' ;

asinhrons funkciju galvenais ( ) {
konst db = klients. db ( dbName ) ;
konst kolekcija = db. kolekcija ( 'lietotāji' ) ;
konst dzēst vaicājumu = { nosaukums : 'pats' } ;
konst dzēst Rezultātu = gaidu kolekciju. dzēstOne ( dzēst vaicājumu ) ;
konsole. žurnāls ( 'Dzēsts dokuments =' , dzēst Rezultātu ) ;
atgriezties 'pabeigts' ;
}

galvenais ( )
. tad ( konsole. žurnāls )
. noķert ( konsole. kļūda )
. beidzot ( ( ) => klients. aizveriet ( ) ) ;

Mēs izveidojam “delete” vaicājuma objektu ar nosaukumu “deleteQuery”, kas nosaka dzēšamo dokumentu kritērijus. Šajā gadījumā tas meklē dokumentus, kuru nosaukuma lauks ir vienāds ar “Sam”. Pēc dzēšanas vaicājuma sagatavošanas mēs izmantojam faktisko dzēšanas darbību, izmantojot kolekcijas objekta metodi deleteOne().

Mēs nododam “deleteQuery” kā argumentu “deleteOne”, kas izdzēš pirmo atbilstošo dokumentu, kas atbilst vaicājumā norādītajiem kritērijiem. Mainīgais “deleteResult” satur dzēšanas darbības rezultātu.

Norādītais dokuments tiek izdzēsts no MongoDB kolekcijas, izmantojot “javascript” failu:

Secinājums

Tagad mums ir fundamentāla izpratne par to, kā izmantot MongoDB ar JavaScript, izmantojot MongoDB Node.js draiveri. Mēs to visu demonstrējām ar dažādām Mongo DB operācijām, sākot no savienojuma līdz dokumenta dzēšanai ar JavaScript. No šejienes mēs varam izveidot sarežģītākas lietojumprogrammas un pēc vajadzības integrēt MongoDB Node.js projektos.