Com desenvolupar MongoDB amb JavaScript

Com Desenvolupar Mongodb Amb Javascript



Un dels avantatges més significatius d'utilitzar MongoDB per a desenvolupadors web és la seva excel·lent integració amb JavaScript. MongoDB proporciona un controlador de JavaScript natiu que permet als desenvolupadors interactuar amb la base de dades directament mitjançant el codi JavaScript. Ara, cal instal·lar el controlador MongoDB Node.js a la màquina abans de poder començar a crear les aplicacions MongoDB en JavaScript. Hem d'utilitzar l'ordre següent per a això:

npm i mongodb

El controlador ens permet interactuar amb MongoDB des del vostre codi JavaScript i realitzar diverses operacions com connectar-nos a la base de dades, inserir les dades, consultar les dades i actualitzar-les.







Exemple 1: Desenvolupa una connexió MongoDB amb JavaScript

Comenceu establint la connexió amb el servidor MongoDB amb el JavaScript que es pot aconseguir mitjançant el mòdul 'npm' tal com s'ha comentat anteriorment.



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

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nou MongoClient ( url ) ;
const dbName = 'MyDB' ;

asíncron funció principal ( ) {
esperar al client. connectar ( ) ;
consola. registre ( 'Connectat al servidor correctament' ) ;
const db = client. db ( dbName ) ;
const col · lecció = db. col · lecció ( 'persones' ) ;

tornar 'fet.' ;
}

principal ( )
. aleshores ( consola. registre )
. agafar ( consola. error )
. finalment ( ( ) => client. Tanca ( ) ) ;

Primer importem el MongoClient necessari des del mòdul 'mongodb' del nostre fitxer 'File.js'. A continuació, definim l'URL de connexió per al servidor MongoDB (url) i creem una nova instància de MongoClient utilitzant l'URL especificat.



Després d'això, especifiquem el nom de la base de dades MongoDB (dbName) que s'utilitzarà a la connexió. A continuació, la funció asíncrona main() gestiona les operacions principals al servidor MongoDB. Aquí, ens connectem al servidor MongoDB mitjançant el client await.connect(). Aquesta és una operació asíncrona, de manera que la funció s'atura fins que la connexió s'estableixi correctament. Podem veure el missatge que apareix a la sol·licitud un cop la connexió s'ha fet correctament. Obtenim una referència a la base de dades amb el nom especificat a 'dbName' mitjançant el client.db(dbName).





Aleshores, obtenim una referència a la col·lecció anomenada 'Persons' mitjançant el db.collection('Persons'). Després de definir la funció main(), cridem a main() per executar les operacions. Si la funció main() es resol correctament, imprimeix el resultat (en aquest cas, és la cadena 'fet') mitjançant el .then(console.log). Si hi ha un error durant l'execució, detecta l'error i l'imprimeix mitjançant el fitxer .catch(console.error). Finalment, assegura que la connexió del client de MongoDB es tanca mitjançant .finally(() => client.close()).

Per tant, el missatge mostra el missatge on s'ha establert la connexió MongoDB al fitxer JavaScript:



Exemple 2: inseriu un document MongoDB amb JavaScript

Ara que s'ha establert la connexió amb el servidor MongoDB, podem utilitzar les consultes de MongoDB amb JavaScript. Aquí, apliquem la consulta d'inserció per inserir el document únic.

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

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nou MongoClient ( url ) ;
const dbName = 'MyDB' ;

asíncron funció principal ( ) {
const db = client. db ( dbName ) ;
const col · lecció = db. col · lecció ( 'usuaris' ) ;
const inserirDoc =
esperar la recollida. insertOne ( { nom : 'Andrew' , edat : 23 } ) ;
consola. registre ( 'S'ha inserit el document =' , inserirDoc ) ;
tornar 'fet.' ;
}

principal ( )
. aleshores ( consola. registre )
. agafar ( consola. error )
. finalment ( ( ) => client. Tanca ( ) ) ;

Definim la funció main() com una funció asíncrona que realitza l'operació d'inserció de la base de dades. Dins d'ell, ens connectem al servidor MongoDB mitjançant la instància MongoClient i l'URL. A continuació, accedim a la base de dades especificada (MyDB) mitjançant el client.db(dbName) i obtenim la col·lecció 'usuaris' de la base de dades mitjançant el db.collection('usuaris').

Després d'això, inserim un document amb el nom dels camps 'Andrew' i l'edat com a 23 a la col·lecció 'usuaris' mitjançant la col·lecció.insertOne(). El mètode insertOne() retorna una promesa que es resol amb el resultat de la inserció. El document afegit es mostra mitjançant console.log. Finalment, tanquem la connexió del client MongoDB.

El document que s'insereix a la col·lecció de bases de dades MongoDB s'ha inserit correctament tal com es mostra a la sortida següent:

Exemple 3: cerqueu un document MongoDB amb JavaScript

De la mateixa manera, podem aplicar la consulta 'trobar' de MongoDB amb JavaScript per trobar el document de la col·lecció que es va crear a l'exemple anterior.

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

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nou MongoClient ( url ) ;
const dbName = 'MyDB' ;

asíncron funció principal ( ) {
const db = client. db ( dbName ) ;
const col · lecció = db. col · lecció ( 'usuaris' ) ;
const findQuery = { nom : 'Andrew' } ;
const trobarDoc = esperar la recollida. trobar ( findQuery ) . toArray ( ) ;
consola. registre ( 'Document =' , trobarDoc ) ;
}

principal ( )
. aleshores ( consola. registre )
. agafar ( consola. error )
. finalment ( ( ) => client. Tanca ( ) ) ;

Comencem amb la demostració de la funció principal on primer ens connectem al servidor MongoDB utilitzant la instància MongoClient creada i l'URL especificat. A continuació, accedim a la base de dades MyDB utilitzant el client.db(dbName) on el dbName és el nom de la base de dades prèviament definit.

A continuació, obtenim una referència a la col·lecció 'usuaris' de la base de dades mitjançant el db.collection('usuaris'). Es crea un objecte de consulta anomenat 'findQuery' que especifica que els documents que s'han de recuperar han de tenir el camp de nom igual a 'Andrew'. Després d'això, realitzem una consulta 'trobar' a la col·lecció 'usuaris' mitjançant collection.find(findQuery) que retorna un cursor als documents coincidents.

La paraula clau 'espera' s'utilitza abans de collection.find() per assegurar-se que el resultat es resol abans de continuar. El resultat de l'operació de cerca es converteix en una matriu de documents mitjançant toArray() i els documents trobats s'emmagatzemen a la variable 'findDoc'. Els documents es registren a la consola mitjançant console.log.

Com a resultat, el document trobat de la col·lecció MongoDB es mostra quan s'executa:

Exemple 4: actualitzeu un document MongoDB amb JavaScript

A continuació, realitzem l'operació d'actualització a JavaScript per actualitzar el document especificat de la col·lecció MongoDB.

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

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nou MongoClient ( url ) ;
const dbName = 'MyDB' ;

asíncron funció principal ( ) {
const db = client. db ( dbName ) ;
const col · lecció = db. col · lecció ( 'usuaris' ) ;
const updateQuery = { nom : 'Andrew' } ;
const updateName = { $conjunt : { nom : 'A si mateix' } } ;
const updateResult = esperar la recollida. updateOne ( updateQuery , updateName ) ;
consola. registre ( 'Document actualitzat =' , updateResult ) ;
tornar 'fet' ;
}

principal ( )
. aleshores ( consola. registre )
. agafar ( consola. error )
. finalment ( ( ) => client. Tanca ( ) ) ;

Per actualitzar un document de la col·lecció 'usuaris', invoquem la funció main(). A continuació, preparem una consulta d''actualització' amb { name: 'Andrew' } per trobar el document amb el camp de nom igual a 'Andrew'. Després d'això, establim el camp de nom del document coincident a 'Sam' mitjançant { $set: { name: 'Sam' } }.

Definim la consulta 'actualitzar' i l'operació 'actualitzar' per dur a terme l'actualització mitjançant collection.updateOne(updateQuery, updateName). El mètode updateOne() actualitza el primer document que coincideix amb la consulta 'actualització' i retorna un objecte que representa el resultat de l'actualització. La variable 'updateResult' conté el resultat de l'acció d'actualització.

La pantalla de sortida següent mostra els resultats de la consulta actualitzada:

Exemple 5: suprimiu un document MongoDB amb JavaScript

Finalment, utilitzem el mètode de supressió de MongoDB per eliminar el document anterior de MongoDB dins de JavaScript.

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

const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = nou MongoClient ( url ) ;
const dbName = 'MyDB' ;

asíncron funció principal ( ) {
const db = client. db ( dbName ) ;
const col · lecció = db. col · lecció ( 'usuaris' ) ;
const deleteQuery = { nom : 'A si mateix' } ;
const deleteResult = esperar la recollida. deleteOne ( deleteQuery ) ;
consola. registre ( 'Document eliminat =' , deleteResult ) ;
tornar 'fet' ;
}

principal ( )
. aleshores ( consola. registre )
. agafar ( consola. error )
. finalment ( ( ) => client. Tanca ( ) ) ;

Creem un objecte de consulta 'suprimir' anomenat 'deleteQuery' que especifica els criteris dels documents que s'han d'eliminar. En aquest cas, cerca documents on el camp del nom és igual a 'Sam'. Després de preparar la consulta d'eliminació, apliquem l'operació d'eliminació real mitjançant el mètode deleteOne() de l'objecte de col·lecció.

Passem el 'deleteQuery' com a argument a 'deleteOne' que elimina el primer document coincident que compleix els criteris especificats a la consulta. La variable 'deleteResult' conté el resultat de l'acció de supressió.

El document especificat s'elimina de la col·lecció MongoDB mitjançant el fitxer 'javascript':

Conclusió

Ara tenim una comprensió fonamental sobre com utilitzar MongoDB amb JavaScript mitjançant el controlador MongoDB Node.js. Ho vam demostrar tot amb les diferents operacions de Mongo DB, des de la connexió fins a l'eliminació del document amb JavaScript. A partir d'aquí, podem crear aplicacions més complexes i integrar MongoDB als projectes Node.js segons sigui necessari.