Paano Bumuo ng MongoDB gamit ang JavaScript

Paano Bumuo Ng Mongodb Gamit Ang Javascript



Ang isa sa pinakamahalagang bentahe ng paggamit ng MongoDB para sa mga web developer ay ang mahusay na pagsasama nito sa JavaScript. Nagbibigay ang MongoDB ng native na JavaScript driver na nagbibigay-daan sa mga developer na direktang makipag-ugnayan sa database gamit ang JavaScript code. Ngayon, kailangan ang pag-install ng driver ng MongoDB Node.js sa makina bago natin simulan ang paggawa ng mga application ng MongoDB sa JavaScript. Kailangan nating gamitin ang sumusunod na utos para dito:

npm i mongodb

Pinapayagan kami ng driver na makipag-ugnayan sa MongoDB mula sa iyong JavaScript code at magsagawa ng iba't ibang mga operasyon tulad ng pagkonekta sa database, pagpasok ng data, pag-query ng data, at pag-update ng data.







Halimbawa 1: Bumuo ng MongoDB na Koneksyon sa JavaScript

Magsimula sa pamamagitan ng pagtatatag ng koneksyon sa MongoDB server gamit ang JavaScript na maaaring magawa gamit ang module na 'npm' gaya ng tinalakay dati.



const { MongoClient } = nangangailangan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const kliyente = bago MongoClient ( url ) ;
const dbName = 'MyDB' ;

async function pangunahing ( ) {
hintayin ang kliyente. kumonekta ( ) ;
console. log ( 'Matagumpay na nakakonekta sa server' ) ;
const db = kliyente. db ( dbName ) ;
const koleksyon = db. koleksyon ( 'Mga Tao' ) ;

bumalik 'tapos na.' ;
}

pangunahing ( )
. pagkatapos ( console. log )
. mahuli ( console. pagkakamali )
. sa wakas ( ( ) => kliyente. malapit na ( ) ) ;

Una naming ini-import ang kinakailangang MongoClient mula sa module na 'mongodb' sa aming 'File.js' na file. Pagkatapos ay tutukuyin namin ang URL ng koneksyon para sa server ng MongoDB (url) at lumikha ng bagong instance ng MongoClient gamit ang tinukoy na URL.



Pagkatapos nito, tinukoy namin ang pangalan ng database ng MongoDB (dbName) na gagamitin sa koneksyon. Susunod, pinangangasiwaan ng asynchronous main() function ang mga pangunahing operasyon sa MongoDB server. Dito, kumonekta kami sa MongoDB server gamit ang await client.connect(). Ito ay isang asynchronous na operasyon, kaya ang function ay humihinto hanggang sa matagumpay na maitatag ang koneksyon. Makikita natin ang mensaheng lalabas sa prompt kapag matagumpay na nagawa ang koneksyon. Kumuha kami ng reference sa database na may tinukoy na pangalan sa “dbName” gamit ang client.db(dbName).





Pagkatapos, nakakakuha kami ng reference sa koleksyon na pinangalanang 'Mga Tao' gamit ang db.collection('Mga Tao'). Pagkatapos tukuyin ang main() function, tinatawagan namin ang main() para isagawa ang mga operasyon. Kung matagumpay na naresolba ang main() function, ipi-print nito ang resulta (sa kasong ito, ito ang string na 'tapos na') gamit ang .then(console.log). Kung may error sa panahon ng pagpapatupad, nahuhuli nito ang error at ipi-print ito gamit ang .catch(console.error). Sa wakas, tinitiyak nito na ang koneksyon ng kliyente ng MongoDB ay sarado gamit ang .finally(() => client.close()).

Samakatuwid, ipinapakita ng prompt ang mensahe kung saan naitatag ang koneksyon ng MongoDB sa JavaScript file:



Halimbawa 2: Maglagay ng MongoDB Document na may JavaScript

Ngayong naitatag na ang koneksyon sa server ng MongoDB, magagamit na natin ang mga query ng MongoDB sa JavaScript. Dito, inilalapat namin ang insert query upang ipasok ang isang dokumento.

const { MongoClient } = nangangailangan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const kliyente = bago MongoClient ( url ) ;
const dbName = 'MyDB' ;

async function pangunahing ( ) {
const db = kliyente. db ( dbName ) ;
const koleksyon = db. koleksyon ( 'mga gumagamit' ) ;
const insertDoc =
naghihintay ng koleksyon. insertOne ( { pangalan : 'Andrew' , edad : 23 } ) ;
console. log ( 'Document Inserted =' , insertDoc ) ;
bumalik 'tapos na.' ;
}

pangunahing ( )
. pagkatapos ( console. log )
. mahuli ( console. pagkakamali )
. sa wakas ( ( ) => kliyente. malapit na ( ) ) ;

Tinutukoy namin ang main() function bilang isang asynchronous na function na nagsasagawa ng operasyon ng pagpasok ng database. Sa loob nito, kumonekta kami sa MongoDB server gamit ang MongoClient instance at ang URL. Pagkatapos, ina-access namin ang tinukoy na database (MyDB) gamit ang client.db(dbName) at kunin ang koleksyon ng 'mga user' mula sa database gamit ang db.collection('users').

Pagkatapos nito, nagpasok kami ng isang dokumento na may pangalan ng mga field bilang 'Andrew' at ang edad bilang 23 sa koleksyon ng 'mga gumagamit' gamit ang collection.insertOne(). Ang insertOne() na pamamaraan ay nagbabalik ng isang pangako na lumulutas sa resulta ng pagpapasok. Ang idinagdag na dokumento ay ipinapakita gamit ang console.log. Panghuli, isinasara namin ang koneksyon ng kliyente ng MongoDB.

Ang dokumentong ipinasok sa koleksyon ng database ng MongoDB ay matagumpay na naipasok tulad ng ipinapakita sa sumusunod na output:

Halimbawa 3: Maghanap ng MongoDB Document na may JavaScript

Katulad nito, maaari naming ilapat ang query na 'hanapin' ng MongoDB na may JavaScript upang mahanap ang dokumento mula sa koleksyon na ginawa sa naunang halimbawa.

const { MongoClient } = nangangailangan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const kliyente = bago MongoClient ( url ) ;
const dbName = 'MyDB' ;

async function pangunahing ( ) {
const db = kliyente. db ( dbName ) ;
const koleksyon = db. koleksyon ( 'mga gumagamit' ) ;
const findQuery = { pangalan : 'Andrew' } ;
const hanapin siDoc = naghihintay ng koleksyon. hanapin ( findQuery ) . toArray ( ) ;
console. log ( 'Dokumento =' , hanapin siDoc ) ;
}

pangunahing ( )
. pagkatapos ( console. log )
. mahuli ( console. pagkakamali )
. sa wakas ( ( ) => kliyente. malapit na ( ) ) ;

Magsisimula kami sa pagpapakita mula sa pangunahing function kung saan kumonekta muna kami sa MongoDB server gamit ang ginawang MongoClient instance at ang tinukoy na URL. Pagkatapos, ina-access namin ang database ng MyDB gamit ang client.db(dbName) kung saan ang dbName ay ang dating tinukoy na pangalan ng database.

Susunod, nakakakuha kami ng sanggunian sa koleksyon ng 'mga gumagamit' mula sa database gamit ang db.collection('mga gumagamit'). Ang isang query object na pinangalanang 'findQuery' ay nilikha na tumutukoy na ang mga dokumentong kukunin ay dapat magkaroon ng field ng pangalan na katumbas ng 'Andrew'. Pagkatapos nito, nagsasagawa kami ng query na 'hanapin' sa koleksyon ng 'mga gumagamit' gamit ang collection.find(findQuery) na nagbabalik ng cursor sa mga katugmang dokumento.

Ang keyword na 'naghihintay' ay ginagamit bago ang koleksyon.find() upang matiyak na ang resulta ay naresolba bago magpatuloy. Ang resulta ng paghahanap na operasyon ay na-convert sa isang hanay ng mga dokumento gamit ang toArray(), at ang mga nahanap na dokumento ay iniimbak sa variable na 'findDoc'. Ang mga dokumento ay naka-log sa console gamit ang console.log.

Bilang resulta, ang nahanap na dokumento ng koleksyon ng MongoDB ay ipinapakita sa pagpapatupad:

Halimbawa 4: Mag-update ng MongoDB Document gamit ang JavaScript

Susunod, ginagawa namin ang 'update' na operasyon sa JavaScript upang i-update ang tinukoy na dokumento ng koleksyon ng MongoDB.

const { MongoClient } = nangangailangan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const kliyente = bago MongoClient ( url ) ;
const dbName = 'MyDB' ;

async function pangunahing ( ) {
const db = kliyente. db ( dbName ) ;
const koleksyon = db. koleksyon ( 'mga gumagamit' ) ;
const updateQuery = { pangalan : 'Andrew' } ;
const updateName = { $set : { pangalan : 'Siya mismo' } } ;
const updateResult = naghihintay ng koleksyon. updateOne ( updateQuery , updateName ) ;
console. log ( 'Na-update na Dokumento =' , updateResult ) ;
bumalik 'tapos na' ;
}

pangunahing ( )
. pagkatapos ( console. log )
. mahuli ( console. pagkakamali )
. sa wakas ( ( ) => kliyente. malapit na ( ) ) ;

Upang ma-update ang isang dokumento sa koleksyon ng 'mga gumagamit', ginagamit namin ang pangunahing() function. Pagkatapos ay naghahanda kami ng query na “update” gamit ang { name: ‘Andrew’ } upang mahanap ang dokumentong may field ng pangalan na katumbas ng “Andrew”. Pagkatapos nito, itinakda namin ang field ng pangalan ng katugmang dokumento sa “Sam” gamit ang { $set: { name: ‘Sam’ } }.

Tinutukoy namin ang query na 'update' at ang 'update' na operasyon upang maisagawa ang pag-update gamit ang collection.updateOne(updateQuery, updateName). Ina-update ng paraan ng updateOne() ang unang dokumento na tumutugma sa query na 'update' at nagbabalik ng object na kumakatawan sa resulta ng pag-update. Ang variable na 'updateResult' ay naglalaman ng kinalabasan ng pagkilos sa pag-update.

Ang kasunod na screen ng output ay nagpapakita ng mga resulta ng na-update na query:

Halimbawa 5: Magtanggal ng MongoDB Document na may JavaScript

Sa wakas, ginagamit namin ang paraan ng pagtanggal ng MongoDB upang tanggalin ang nakaraang dokumento mula sa MongoDB sa loob ng JavaScript.

const { MongoClient } = nangangailangan ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const kliyente = bago MongoClient ( url ) ;
const dbName = 'MyDB' ;

async function pangunahing ( ) {
const db = kliyente. db ( dbName ) ;
const koleksyon = db. koleksyon ( 'mga gumagamit' ) ;
const deleteQuery = { pangalan : 'Siya mismo' } ;
const deleteResult = naghihintay ng koleksyon. deleteOne ( deleteQuery ) ;
console. log ( 'Tinanggal na Dokumento =' , deleteResult ) ;
bumalik 'tapos na' ;
}

pangunahing ( )
. pagkatapos ( console. log )
. mahuli ( console. pagkakamali )
. sa wakas ( ( ) => kliyente. malapit na ( ) ) ;

Lumilikha kami ng object ng query na 'tanggalin' na pinangalanang 'deleteQuery' na tumutukoy sa pamantayan para sa mga dokumentong tatanggalin. Sa kasong ito, naghahanap ito ng mga dokumento kung saan ang field ng pangalan ay katumbas ng 'Sam'. Pagkatapos ihanda ang query sa pagtanggal, inilalapat namin ang aktwal na operasyon ng pagtanggal gamit ang deleteOne() na paraan ng object ng koleksyon.

Ipinapasa namin ang 'deleteQuery' bilang argumento sa 'deleteOne' na nagtatanggal sa unang tumutugmang dokumento na nakakatugon sa tinukoy na pamantayan sa query. Ang variable na 'deleteResult' ay nagtataglay ng kinalabasan ng pagkilos sa pagtanggal.

Ang tinukoy na dokumento ay tinanggal mula sa koleksyon ng MongoDB gamit ang 'javascript' na file:

Konklusyon

Mayroon na kaming pangunahing pag-unawa sa kung paano gamitin ang MongoDB sa JavaScript sa pamamagitan ng driver ng MongoDB Node.js. Ipinakita namin ang lahat ng ito sa iba't ibang pagpapatakbo ng Mongo DB, mula sa koneksyon hanggang sa pagtanggal ng dokumento gamit ang JavaScript. Mula dito, maaari tayong bumuo ng mas kumplikadong mga application at isama ang MongoDB sa mga proyekto ng Node.js kung kinakailangan.