Come integrare il driver MongoDB Node.js

Come Integrare Il Driver Mongodb Node Js



MongoDB ha un pacchetto ufficiale chiamato MongoDB Node.js Driver, che consente l'integrazione tra programmi e database Node.js. Con questa applicazione potremo connetterci, interrogare, aggiornare ed eliminare documenti, oltre ad altre azioni sul database. Per utilizzare il driver MongoDB Node.js, dobbiamo installare il pacchetto mongodb da npm, che è il gestore pacchetti Node. In questo articolo, di seguito abbiamo fornito tutte le fasi per ottenere mongodb da npm.

Configura il driver MongoDB utilizzando il modulo npm

Per ottenere il driver MongoDB node.js, dobbiamo prima ottenere il modulo npm per Node.js sul nostro sistema, che dovrebbe essere aggiornato. Abbiamo installato npm con l'ultima versione a livello globale sul sistema. Di seguito viene fornito il comando per l'installazione del modulo npm:

npm install -g npm@9.8.1

Qui è evidente che il modulo npm è stato aggiunto al computer.









Ora dobbiamo integrare MongoDB con il driver Node.js, quindi il seguente comando ci aiuta a ottenere il driver Mongodb utilizzando il comando npm. Le dipendenze vengono salvate da npm in un file chiamato “package.json” con l'opzione -save. Tuttavia, possiamo installare il driver MongoDB e aggiungerlo alle dipendenze del progetto senza l'opzione –save per ottenere lo stesso risultato.



npm installa mongodb --save

Il driver MongoDB è ora installato correttamente, come mostrato nell'immagine seguente.





Il passo successivo è creare una directory univoca in cui inserire il programma MongoDB. Per fare ciò, crea la directory “NewFolder” usando il comando mkdir. Il comando per creare la directory è il seguente:



mkdir Nuovacartella

Ora, abbiamo specificato il percorso come mostrato di seguito per accedere a quella directory specifica.

cd C:\Users\Hp\MyNodejs\NewFolder

Pertanto, ora ci troviamo nella directory “NewFolder” creata nel passaggio precedente. Passando al processo successivo, chiediamo il comando 'npm init -y' per inizializzare rapidamente un nuovo progetto Node.js generando un file package.json con valori predefiniti senza richiedere alcun input da parte dell'utente.

Il file package.json di base con valori predefiniti è stato creato come output del comando riportato di seguito.

Esempio n. 1: stabilire la connessione con il server MongoDB integrando Node.js

Tutti i passaggi iniziali per ottenere il driver MongoDB all'interno di Node.js sono stati completati con successo nella sezione precedente. Ora possiamo facilmente stabilire una connessione con il server MongoDB. Per questo, abbiamo creato un file all'interno della directory “NewFolder” con il nome “MongoDB.js”. Di seguito è riportato lo script per stabilire la connessione.

const {MongoClient} = richiedere ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const nome_db = 'Nuovo database' ;
funzione asincrona main() {
attendono client.connect();
console.log( 'Connesso con successo al server MongoDB' );
const db = client.db(nome_db);
const raccolta = db.collection( 'utenti' );
ritorno 'Fatto.' ;
}

principale()
.then(console.log)
.catch(console.errore)
.finally(() => client.close());

Abbiamo aggiunto la classe 'MongoClient' dal pacchetto MongoDB per generare la connessione al server MongoDB. Quindi, abbiamo specificato le variabili “url” e “db_name” dove è definito l’URL del server MongoDB, che in questo caso è localhost, e specificato il nome del database MongoDB “NewDatabase”.

Successivamente, impostiamo la funzione asincrona e la chiamiamo main(). All'interno della funzione main(), abbiamo utilizzato la funzione connect() per stabilire la connessione e, quando la connessione viene stabilita con successo, log() stamperà il messaggio.

Dopo aver impostato la connessione, accediamo alla raccolta “utenti”. Qui possiamo eseguire varie operazioni sul database all'interno della funzione principale. Successivamente, la funzione main viene chiamata utilizzando main().then(console.log).catch(console.error) per gestire i casi di successo ed errore. Infine, abbiamo chiuso la connessione MongoDB utilizzando client.close() nel blocco .finally().

L'output mostrava che la connessione con il server MongoDB era stata stabilita con successo mentre eseguivamo il file con il comando node.

Esempio n. 2: inserire documenti nella raccolta MongoDB utilizzando Node.js

Ci siamo collegati al server MongoDB nella sezione precedente. Una volta stabilita la connessione, possiamo inserire i documenti nella raccolta specificata nel programma sopra. L'operazione di inserimento del documento nella collection “user” viene aggiunta allo stesso file “MongoDB.js”.

const {MongoClient} = richiedere ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const nome_db = 'Nuovo database' ;
funzione asincrona main() {
attendono client.connect();
console.log( 'Connesso con successo al server MongoDB' );
const db = client.db(nome_db);
const raccolta = db.collection( 'utenti' );

const insertDocs =
attendono raccolta.insertMany([{ nome: 'Alessio' , e-mail: ' alex@esempio.com ' },
{ nome: 'Andy' , e-mail: ' andy@esempio.com ' },
{ nome: 'Lui stesso' , e-mail: ' sam@esempio.com ' }]);
console.log( 'Documenti inseriti in Collezione =>' , inserisciDocs);
ritorno 'Fatto.' ;
}

principale()
.then(console.log)
.catch(console.errore)
.finally(() => client.close());

Qui tutta la sceneggiatura è la stessa di sopra; abbiamo appena inserito l'operazione di inserimento nella funzione asincrona main(). Abbiamo creato la variabile 'insertDocs' e quindi abbiamo chiamato la funzione insertMany() utilizzando il comando wait. Per la funzione insertMany(), abbiamo specificato tre documenti che contengono campi 'nome' ed 'email' con valori diversi in ciascuno. Verrà generato un estratto conto quando tutti i documenti saranno stati inseriti correttamente.

Nell'output visualizzato i documenti vengono inseriti correttamente nella raccolta con tre ID univoci.

Esempio n. 3: aggiorna il documento nella Collection utilizzando Node.js

Allo stesso modo possiamo anche applicare l’operazione di aggiornamento di MongoDB in Node.js seguendo lo stesso file “MongoDB.js”. L'operazione viene aggiunta al file per l'operazione di aggiornamento. Considera il programma per questa operazione.

const {MongoClient} = richiedere ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const nome_db = 'Nuovo database' ;
funzione asincrona main() {
attendono client.connect();
console.log( 'Connesso con successo al server MongoDB' );
const db = client.db(nome_db);
const raccolta = db.collection( 'utenti' );

const updateDoc = attendono collection.updateOne({ nome: 'andy' },
{$set: {e-mail: ' andy12@esempio.com ' } });
console.log( 'Documento aggiornato nella raccolta =>' , updateDoc);
ritorno 'Fatto.' ;
}

principale()
.then(console.log)
.catch(console.errore)
.finally(() => client.close());

Qui abbiamo chiamato la variabile “updateDocs” dove l'operazione di aggiornamento è definita con l'operatore $set. La definizione del metodo updateOne() afferma che è necessario aggiornare un solo documento. Nel metodo updateOne() di MongoDB, abbiamo fornito il campo nome con valore come prima istruzione, quindi abbiamo dato l'operatore $set alla seconda istruzione, dove viene fornito il campo 'email' per aggiornare di conseguenza la nuova email .

L'output viene visualizzato in cui il documento da aggiornare viene abbinato e modificato utilizzando Node.js.

Esempio n. 4: eliminare il documento dalla raccolta MongoDB utilizzando Node.js

Successivamente, abbiamo applicato l'operazione di eliminazione di MongoDB utilizzando Node.js. L'operazione è fornita nel file simile 'MongoDB.js'.

const {MongoClient} = richiedere ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const nome_db = 'Nuovo database' ;
funzione asincrona main() {
attendono client.connect();
console.log( 'Connesso correttamente al server MongoDB' );
const db = client.db(nome_db);
const raccolta = db.collection( 'utenti' );

const deleteDoc = attendono collection.deleteOne({ nome: 'Andy' });
console.log( 'Documento eliminato =>' , eliminaDoc);
ritorno 'Fatto.' ;
}

principale()
.then(console.log)
.catch(console.errore)
.finally(() => client.close());

Qui abbiamo definito la nuova variabile “deleteDoc” in cui il documento viene eliminato dalla stessa raccolta “users”. Il metodo deleteOne() è previsto all'interno della variabile “deleteDoc” per eliminare solo il documento specifico, che è quello con il campo “name” memorizzato con il valore “Andy”. Quando il documento viene eliminato dalla raccolta, anche il file Node.js genererà il messaggio di eliminazione.

Come previsto, il documento è stato eliminato con successo dalla raccolta “users” di MongoDB.

Conclusione

Abbiamo dimostrato come stabilire una connessione a un database MongoDB e accedere a una raccolta utilizzando il driver MongoDB Node.js. Dopo esserci connessi con successo con MongoDB, abbiamo incluso un codice operativo aggiuntivo all'interno della funzione principale per eseguire operazioni MongoDB.