Com integrar el controlador MongoDB Node.js

Com Integrar El Controlador Mongodb Node Js



MongoDB té un paquet oficial anomenat controlador MongoDB Node.js, que permet la integració entre programes i bases de dades Node.js. Amb aquesta aplicació, podem connectar, consultar, actualitzar i eliminar documents, entre altres accions de base de dades. Per utilitzar el controlador MongoDB Node.js, hem d'instal·lar el paquet mongodb des de npm, que és el gestor de paquets Node. En aquest article, hem proporcionat cada etapa per obtenir el mongodb de npm a continuació.

Configureu el controlador MongoDB mitjançant el mòdul npm

Per obtenir el controlador MongoDB node.js, primer hem d'obtenir el mòdul npm per a Node.js al nostre sistema, que s'hauria d'actualitzar. Hem instal·lat npm amb l'última versió globalment al sistema. L'ordre per a la instal·lació del mòdul npm es proporciona a continuació:

npm install -g npm@9.8.1

Aquí, és evident que el mòdul npm s'ha afegit a l'ordinador.









Ara, hem d'integrar MongoDB amb el controlador Node.js, de manera que l'ordre següent ens ajuda a obtenir el controlador Mongodb mitjançant l'ordre npm. Npm desa les dependències en un fitxer anomenat 'package.json' amb l'opció -save. Tanmateix, podem instal·lar el controlador MongoDB i afegir-lo a les dependències del projecte sense l'opció –save per aconseguir el mateix resultat.



npm install mongodb --save

El controlador MongoDB s'ha instal·lat amb èxit, tal com es veu a la imatge següent.





El següent pas és fer un directori únic on es pugui posar el programa MongoDB. Per fer-ho, creeu el directori 'NewFolder' mitjançant l'ordre mkdir. L'ordre per crear el directori és la següent:



mkdir NewFolder

Ara, hem especificat el camí com es mostra a continuació per entrar a aquest directori específic.

cd C:\Usuaris\Hp\MyNodejs\NewFolder

Així, ara estem al directori 'NewFolder' que es va crear en el pas anterior. Passant al següent procés, demanem l'ordre 'npm init -y' per inicialitzar ràpidament un nou projecte Node.js generant un fitxer package.json amb valors predeterminats sense requerir cap entrada de l'usuari.

El fitxer package.json bàsic amb valors predeterminats s'ha creat com a sortida de comandament a continuació.

Exemple # 1: establiment de la connexió amb el servidor MongoDB mitjançant la integració de Node.js

Tots els passos inicials per obtenir el controlador MongoDB a Node.js s'han completat correctament a la secció anterior. Ara, podem establir fàcilment una connexió amb el servidor MongoDB. Per a això, hem creat un fitxer dins del directori “NewFolder” amb el nom “MongoDB.js”. A continuació es mostra l'script per establir la connexió.

const { MongoClient } = requereixen ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
client const = nou MongoClient (url);
const nom_base = 'Nova base de dades' ;
funció asíncrona main() {
espere client.connect();
console.log( 'S'ha connectat correctament al servidor MongoDB' );
const db = client.db(nom_db);
col·lecció const = db.collection( 'usuaris' );
tornar 'fet.' ;
}

principal ()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Hem afegit la classe 'MongoClient' del paquet MongoDB per generar la connexió del servidor MongoDB. A continuació, vam especificar les variables 'url' i 'db_name' on es defineix l'URL del servidor MongoDB, que en aquest cas és localhost, i vam especificar el nom de la base de dades MongoDB 'NewDatabase'.

Després d'això, establim la funció asíncrona i l'anomenem main(). Dins d'aquesta funció main(), hem emprat la funció connect() per establir la connexió, i quan la connexió s'estableixi correctament, el log() imprimirà el missatge.

Després de configurar la connexió, accedim a la col·lecció 'usuaris'. Aquí, podem realitzar diverses operacions de base de dades dins de la funció principal. A continuació, la funció principal s'anomena utilitzant main().then(console.log).catch(console.error) per gestionar els casos d'èxit i error. Finalment, vam tancar la connexió MongoDB mitjançant client.close() al bloc .finally().

La sortida mostrava que la connexió amb el servidor MongoDB s'havia establert correctament mentre executàvem el fitxer amb l'ordre del node.

Exemple # 2: inseriu documents a la col·lecció MongoDB utilitzant Node.js

Ens hem connectat al servidor MongoDB a la secció anterior. A mesura que s'estableixi la connexió, podrem inserir els documents a la col·lecció que s'especifica al programa anterior. L'operació d'inserció del document a la col·lecció 'usuari' s'afegeix al mateix fitxer, 'MongoDB.js'.

const { MongoClient } = requereixen ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
client const = nou MongoClient (url);
const nom_base = 'Nova base de dades' ;
funció asíncrona main() {
espere client.connect();
console.log( 'S'ha connectat correctament al servidor MongoDB' );
const db = client.db(nom_db);
col·lecció const = db.collection( 'usuaris' );

const insertDocs =
await collection.insertMany([{ nom: 'Alex' , correu electrònic: ' alex@example.com ' },
{ nom: 'Andy' , correu electrònic: ' andy@example.com ' },
{ nom: 'A si mateix' , correu electrònic: ' sam@example.com ' }]);
console.log( 'S'han inserit documents a la col·lecció =>' , insertDocs);
tornar 'fet.' ;
}

principal ()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Aquí, tot el guió és el mateix que l'anterior; acabem d'inserir l'operació d'inserció a la funció asíncrona main(). Vam crear la variable 'insertDocs' i després vam cridar la funció insertMany() mitjançant l'ordre await. Per a la funció insertMany(), hem especificat tres documents que contenen camps 'nom' i 'correu electrònic' amb valors diferents en cadascun. Es generarà una declaració quan tots els documents s'hagin inserit correctament.

La sortida que es mostra els documents s'insereixen correctament a la col·lecció amb tres identificadors únics.

Exemple # 3: actualitzeu el document a la col·lecció mitjançant Node.js

De la mateixa manera, també podem aplicar l'operació d'actualització de MongoDB a Node.js seguint el mateix fitxer, 'MongoDB.js'. L'operació s'afegeix al fitxer per a l'operació d'actualització. Considereu el programa per a aquesta operació.

const { MongoClient } = requereixen ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
client const = nou MongoClient (url);
const nom_base = 'Nova base de dades' ;
funció asíncrona main() {
espere client.connect();
console.log( 'S'ha connectat correctament al servidor MongoDB' );
const db = client.db(nom_db);
col·lecció const = db.collection( 'usuaris' );

const updateDoc = await collection.updateOne({ nom: 'andy' },
{ $set: { correu electrònic: ' andy12@example.com ' } });
console.log( 'Document actualitzat a la col·lecció =>' , updateDoc);
tornar 'fet.' ;
}

principal ()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Aquí, hem anomenat la variable 'updateDocs' on l'operació d'actualització es defineix amb l'operador $set. La definició del mètode updateOne() indica que només cal actualitzar un document. En el mètode updateOne() de MongoDB, hem proporcionat el camp de nom amb un valor com a primera instrucció, i després hem donat l'operador $set a la segona instrucció, on es dóna el camp 'correu electrònic' per actualitzar el nou correu electrònic en conseqüència. .

La sortida es mostra on el document que s'ha d'actualitzar coincideix i es modifica mitjançant Node.js.

Exemple # 4: suprimiu el document de la col·lecció MongoDB mitjançant Node.js

A continuació, vam aplicar l'operació d'eliminació de MongoDB mitjançant Node.js. L'operació es proporciona al fitxer similar 'MongoDB.js'.

const { MongoClient } = requereixen ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
client const = nou MongoClient (url);
const nom_base = 'Nova base de dades' ;
funció asíncrona main() {
espere client.connect();
console.log( 'S'ha connectat correctament al servidor MongoDB' );
const db = client.db(nom_db);
col·lecció const = db.collection( 'usuaris' );

const deleteDoc = await collection.deleteOne({ nom: 'Andy' });
console.log( 'El document s'ha eliminat =>' , deleteDoc);
tornar 'fet.' ;
}

principal ()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Aquí, hem definit la nova variable 'deleteDoc' on el document s'elimina de la mateixa col·lecció 'usuaris'. El mètode deleteOne() es proporciona a la variable 'deleteDoc' per eliminar només el document específic, que és el que té el camp 'nom' emmagatzemat amb el valor 'Andy'. Quan el document s'elimina de la col·lecció, el fitxer Node.js també generarà el missatge de supressió.

Com era d'esperar, el document s'ha suprimit correctament de la col·lecció 'usuaris' de MongoDB.

Conclusió

Hem demostrat com establir una connexió a una base de dades MongoDB i accedir a una col·lecció mitjançant el controlador MongoDB Node.js. Després de connectar-nos amb èxit amb MongoDB, hem inclòs codi d'operació addicional a la funció principal per realitzar operacions de MongoDB.