A MongoDB fejlesztése JavaScript segítségével

A Mongodb Fejlesztese Javascript Segitsegevel



A MongoDB használatának egyik legjelentősebb előnye a webfejlesztők számára a JavaScripttel való kiváló integráció. A MongoDB natív JavaScript-illesztőprogramot biztosít, amely lehetővé teszi a fejlesztők számára, hogy közvetlenül a JavaScript-kód használatával kommunikáljanak az adatbázissal. Most már telepíteni kell a MongoDB Node.js illesztőprogramot a gépre, mielőtt elkezdhetnénk létrehozni a MongoDB-alkalmazásokat JavaScriptben. Ehhez a következő parancsot kell használnunk:

npm i mongodb

Az illesztőprogram lehetővé teszi számunkra, hogy az Ön JavaScript-kódjából kölcsönhatásba lépjünk a MongoDB-vel, és különféle műveleteket hajtsunk végre, mint például az adatbázishoz való csatlakozás, az adatok beszúrása, az adatok lekérdezése és az adatok frissítése.







1. példa: MongoDB kapcsolat fejlesztése JavaScript segítségével

Kezdje azzal, hogy létrehozza a kapcsolatot a MongoDB kiszolgálóval a JavaScript segítségével, amely az „npm” modul használatával valósítható meg, a korábban tárgyalt módon.



const { MongoClient } = igényelnek ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ügyfél = új MongoClient ( url ) ;
const dbName = 'MyDB' ;

async funkció fő- ( ) {
várja az ügyfelet. csatlakozni ( ) ;
konzol. log ( 'Sikeres csatlakozás a szerverhez' ) ;
const db = ügyfél. db ( dbName ) ;
const Gyűjtemény = db. Gyűjtemény ( 'személyek' ) ;

Visszatérés 'Kész.' ;
}

fő- ( )
. akkor ( konzol. log )
. fogás ( konzol. hiba )
. végül ( ( ) => ügyfél. Bezárás ( ) ) ;

Először importáljuk a szükséges MongoClient-et a „Mongodb” modulból a „File.js” fájlunkban. Ezután meghatározzuk a MongoDB-kiszolgáló (url) kapcsolati URL-címét, és létrehozunk egy új MongoClient-példányt a megadott URL-cím használatával.



Ezt követően adjuk meg a kapcsolatnál használandó MongoDB adatbázis nevét (dbName). Ezután az aszinkron main() függvény kezeli a fő műveleteket a MongoDB szerveren. Itt a await client.connect() segítségével csatlakozunk a MongoDB szerverhez. Ez egy aszinkron művelet, így a funkció szünetel, amíg a kapcsolat sikeresen létre nem jön. Megtekinthetjük a promptban megjelenő üzenetet, miután a kapcsolat sikeresen létrejött. Hivatkozást kapunk az adatbázisra a megadott névvel a „dbName”-ben a client.db(dbName) használatával.





Ezután hivatkozást kapunk a „Persons” nevű gyűjteményre a db.collection(‘Személyek’) használatával. A main() függvény definiálása után a main() függvényt hívjuk meg a műveletek végrehajtásához. Ha a main() függvény sikeresen megoldódik, kiírja az eredményt (jelen esetben ez a „kész” karakterlánc) a .then(console.log) segítségével. Ha hiba történik a végrehajtás során, akkor elkapja a hibát és kinyomtatja a .catch(console.error) segítségével. Végül biztosítja, hogy a MongoDB kliens kapcsolat le legyen zárva a .finally(() => client.close() használatával.

Ezért a prompt azt az üzenetet mutatja, ahol a MongoDB kapcsolat létrejött a JavaScript fájlban:



2. példa: Szúrjon be egy MongoDB dokumentumot JavaScripttel

Most, hogy a kapcsolat létrejött a MongoDB szerverrel, használhatjuk a MongoDB lekérdezéseket JavaScripttel. Itt a beszúrási lekérdezést alkalmazzuk az egyetlen dokumentum beszúrásához.

const { MongoClient } = igényelnek ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ügyfél = új MongoClient ( url ) ;
const dbName = 'MyDB' ;

async funkció fő- ( ) {
const db = ügyfél. db ( dbName ) ;
const Gyűjtemény = db. Gyűjtemény ( 'felhasználók' ) ;
const insertDoc =
várja a gyűjtést. insertOne ( { név : 'András' , kor : 23 } ) ;
konzol. log ( 'Dokumentum beszúrva =' , insertDoc ) ;
Visszatérés 'Kész.' ;
}

fő- ( )
. akkor ( konzol. log )
. fogás ( konzol. hiba )
. végül ( ( ) => ügyfél. Bezárás ( ) ) ;

A main() függvényt aszinkron függvényként definiáljuk, amely az adatbázis-beillesztési műveletet hajtja végre. Benne csatlakozunk a MongoDB szerverhez a MongoClient példány és az URL segítségével. Ezután elérjük a megadott adatbázist (MyDB) a client.db(dbName) segítségével, és a db.collection('users') segítségével megkapjuk a „users” gyűjteményt az adatbázisból.

Ezt követően a collection.insertOne() segítségével beszúrunk egy dokumentumot, amelynek mezői neve „Andrew”, életkora pedig 23 év. Az insertOne() metódus ígéretet ad vissza, amely a beillesztés eredményével oldódik meg. A hozzáadott dokumentum a console.log segítségével jelenik meg. Végül lezárjuk a MongoDB ügyfélkapcsolatot.

A MongoDB adatbázis-gyűjteménybe beszúrt dokumentum sikeresen beillesztésre került, ahogy az a következő kimenetben látható:

3. példa: Keressen egy MongoDB dokumentumot JavaScripttel

Hasonlóképpen alkalmazhatjuk a MongoDB „find” lekérdezését JavaScript segítségével, hogy megtaláljuk a dokumentumot az előző példában létrehozott gyűjteményből.

const { MongoClient } = igényelnek ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ügyfél = új MongoClient ( url ) ;
const dbName = 'MyDB' ;

async funkció fő- ( ) {
const db = ügyfél. db ( dbName ) ;
const Gyűjtemény = db. Gyűjtemény ( 'felhasználók' ) ;
const FindQuery = { név : 'András' } ;
const findDoc = várja a gyűjtést. megtalálja ( FindQuery ) . toArray ( ) ;
konzol. log ( 'Dokumentum =' , findDoc ) ;
}

fő- ( )
. akkor ( konzol. log )
. fogás ( konzol. hiba )
. végül ( ( ) => ügyfél. Bezárás ( ) ) ;

Kezdjük a demonstrációval a fő függvényből, ahol először csatlakozunk a MongoDB szerverhez a létrehozott MongoClient példány és a megadott URL használatával. Ezután elérjük a MyDB adatbázist a client.db(dbName) használatával, ahol a dbName a korábban meghatározott adatbázisnév.

Ezután hivatkozást kapunk az adatbázisból a „users” gyűjteményre a db.collection(‘users’) segítségével. Létrejön egy „findQuery” nevű lekérdezési objektum, amely meghatározza, hogy a lekérendő dokumentumok névmezője „Andrew” legyen. Ezt követően a collection.find(findQuery) segítségével egy „find” lekérdezést hajtunk végre a „felhasználók” gyűjteményben, amely visszaadja a kurzort az egyező dokumentumokra.

A „wait” kulcsszó a collection.find() előtt használatos annak biztosítására, hogy a folytatás előtt az eredmény feloldásra kerüljön. A keresési művelet eredményét a toArray() segítségével dokumentumok tömbjévé konvertálja, és a talált dokumentumokat a „findDoc” változó tárolja. A dokumentumok ezután naplózásra kerülnek a konzolon a console.log segítségével.

Ennek eredményeként a MongoDB gyűjtemény talált dokumentuma végrehajtáskor megjelenik:

4. példa: Frissítsen egy MongoDB-dokumentumot JavaScript segítségével

Ezután végrehajtjuk a „frissítés” műveletet JavaScriptben a MongoDB gyűjtemény megadott dokumentumának frissítéséhez.

const { MongoClient } = igényelnek ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ügyfél = új MongoClient ( url ) ;
const dbName = 'MyDB' ;

async funkció fő- ( ) {
const db = ügyfél. db ( dbName ) ;
const Gyűjtemény = db. Gyűjtemény ( 'felhasználók' ) ;
const updateQuery = { név : 'András' } ;
const updateName = { $set : { név : 'Saját maga' } } ;
const frissítés Eredmény = várja a gyűjtést. updateOne ( updateQuery , updateName ) ;
konzol. log ( 'Frissített dokumentum =' , frissítés Eredmény ) ;
Visszatérés 'Kész' ;
}

fő- ( )
. akkor ( konzol. log )
. fogás ( konzol. hiba )
. végül ( ( ) => ügyfél. Bezárás ( ) ) ;

A „felhasználók” gyűjteményben lévő dokumentum frissítéséhez a main() függvényt hívjuk meg. Ezután elkészítünk egy „frissítési” lekérdezést a { name: 'Andrew' } használatával, hogy megtaláljuk azt a dokumentumot, amelynek névmezője megegyezik az „Andrew” mezővel. Ezt követően az egyező dokumentum névmezőjét „Sam”-ra állítottuk a { $set: { name: 'Sam' } } segítségével.

Meghatározzuk az „update” lekérdezést és az „update” műveletet a frissítés végrehajtásához a collection.updateOne(updateQuery, updateName) használatával. Az updateOne() metódus frissíti az első olyan dokumentumot, amely megfelel az „update” lekérdezésnek, és egy olyan objektumot ad vissza, amely a frissítés eredményét reprezentálja. Az „updateResult” változó tartalmazza a frissítési művelet eredményét.

A következő kimeneti képernyő megjeleníti a frissített lekérdezés eredményeit:

5. példa: MongoDB-dokumentum törlése JavaScript használatával

Végül a MongoDB törlési módszerét alkalmazzuk az előző dokumentum MongoDB-ből való törlésére a JavaScript-en belül.

const { MongoClient } = igényelnek ( 'mongodb' ) ;

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const ügyfél = új MongoClient ( url ) ;
const dbName = 'MyDB' ;

async funkció fő- ( ) {
const db = ügyfél. db ( dbName ) ;
const Gyűjtemény = db. Gyűjtemény ( 'felhasználók' ) ;
const deleteQuery = { név : 'Saját maga' } ;
const Eredmény törlése = várja a gyűjtést. deleteOne ( deleteQuery ) ;
konzol. log ( 'Törölt dokumentum =' , Eredmény törlése ) ;
Visszatérés 'Kész' ;
}

fő- ( )
. akkor ( konzol. log )
. fogás ( konzol. hiba )
. végül ( ( ) => ügyfél. Bezárás ( ) ) ;

Létrehozunk egy „delete” lekérdezési objektumot „deleteQuery” néven, amely meghatározza a törlendő dokumentumok feltételeit. Ebben az esetben olyan dokumentumokat keres, ahol a névmező megegyezik a „Sam” értékkel. A törlési lekérdezés elkészítése után a tényleges törlési műveletet alkalmazzuk a gyűjteményobjektum deleteOne() metódusával.

A „deleteQuery”-t argumentumként adjuk át a „deleteOne”-nak, amely törli az első olyan dokumentumot, amely megfelel a lekérdezésben megadott feltételeknek. A „deleteResult” változó tartalmazza a törlési művelet eredményét.

A megadott dokumentum a „javascript” fájl használatával törlődik a MongoDB gyűjteményből:

Következtetés

Most már alapvető ismereteink vannak arról, hogyan kell a MongoDB-t JavaScripttel használni a MongoDB Node.js illesztőprogramon keresztül. Mindezt a Mongo DB különböző műveleteivel demonstráltuk, a csatlakozástól a dokumentum JavaScript-el történő törléséig. Innentől bonyolultabb alkalmazásokat építhetünk, és szükség szerint integrálhatjuk a MongoDB-t a Node.js projektekbe.