Nodejs vs MongoDB Tutorial

Nodejs vs MongoDB Tutorial
MongoDB er en mye brukt NoSQL -database. Muligheten til å lagre data i flere formater gjør MongoDB til et gunstig verktøy for å håndtere store datamengder. På den annen side er NodeJS et kjent runtime-miljø som hjelper til med å utføre JavaScript-kode utenfor nettleseren.

Så det første verktøyet (MongoDB) revolusjonerer datahåndtering, mens NodeJs er kjent for å utvikle skalerbare applikasjoner. Etter viktigheten av disse fruktbare verktøyene, vil denne guiden demonstrere bruken av NodeJs med MongoDB.

MongoDB og NodeJs

Selv om NodeJS -miljøet fungerer med flere SQL- og NoSQL -databaser. Her vil vi bare målrette mot MongoDB. Nodejs hjelper deg ved å utføre flere operasjoner i MongoDB som er listet opp nedenfor:

  • Antall databaseforbindelser til MongoDB administrert av NodeJS.
  • Administrere tilkoblingene til en database; Opprette en databaseforbindelse, avslutte tilkoblingen.
  • CRUD -operasjonene støttet av MongoDB kan utføres ved å bruke den med NodeJS.

Forutsetninger

Ved hjelp av denne delen vil du kunne sette opp et miljø der du kan bruke MongoDB med NodeJS. Følgende liste over pakker må være til stede på Linux -systemet ditt for å komme i gang med NodeJs sammen med MongoDB.

Installer node.JS: Du må installere node.JS -versjon "4.x”Eller mer. Det anbefales imidlertid å få den nyeste versjonen tilgjengelig.

For det første, oppdater pakkelisten ved å utstede følgende kommando:

$ sudo apt oppdatering

Etter oppdatering, få node.JS på Ubuntu ved hjelp av den nedenfor-nevnte kommandoen:

$ sudo apt installer nodejs

Merk: Vi har allerede installert Nodejs.

Merk Node -versjonen din også ved å utstede følgende kommando:

$ nodejs -v

Få node.JS Package Manager: NPM -støtten til Node.JS tillater installasjon av flere moduler eller pakker som skal brukes med node.JS. Så utfør følgende kommando for å installere NPM på Ubuntu:

$ sudo apt install npm

Mongodb Atlas: Etter å ha installert de ovennevnte forekomstene, må du gå til Mongodb Atlas og lage en konto der borte. Når kontoen er opprettet, blir du bedt om å navngi prosjektet ditt og opprette en klynge i det prosjektet. Etter dette vil du se et grensesnitt som vist nedenfor:

Du kan også observere prosjektnavnet og klyngen til det prosjektet:

Merk: I vårt tilfelle er prosjektnavnet satt til Linuxhint, og klyngen tilknyttet dette prosjektet heter Linuxhint-C1.

For tilkobling må du dessuten følge trinnene som er gitt nedenfor:

Trinn 1: Klikk på "Koble”Knapp for å konfigurere tilkoblingen:

Steg 2: På neste side klikk på "Legg til din nåværende IP -adresse”For å angi gjeldende IP for tilkobling.

Nå, klikk på "Legg til IP -adresse”For å fullføre dette trinnet.

Trinn 3: Etter å ha angitt IP -adressen, navigerer du til “Opprett en databasebruker”Alternativ. Skriv inn navnet på brukeren i “Brukernavn”Og passord i“Passord”Alternativ, og klikk deretter på“Opprett databasebruker”For å fullføre dette trinnet.

Velg nå tilkoblingsmetoden ved å klikke på "Velg en tilkoblingsmetode“:

Trinn 4: Nex klikk på "Koble søknaden din“.

Vi vil ha nodejs med MongoDB, for det velger "Node.JS”Fra rullegardinmenyen som heter“SJÅFØR”Og velg den aktuelle versjonen fra“VERSJON”Alternativ. Dessuten må du kopiere tilkoblings -URLen for å bruke den inne i NodeJS -applikasjonen (eller du kan kopiere den senere også).

Når du har utført alle disse trinnene, er du klar til å koble NodeJS -applikasjonen din med MongoDB.

Sette opp miljø

Denne delen beskriver kort MongoDB -operasjonene ved hjelp av NodeJS. For dette må du opprette et nodeprosjekt slik at forbindelsen med MongoDB kan etableres.

Trinnene som er gitt nedenfor, vil guide deg til å lage et nytt nodeprosjekt og installere en MongoDB -modul.

Trinn 1: Åpne Ubuntu -terminalen. Lag en ny katalog og endre den nåværende arbeidskatalogen til den mappen. For eksempel har vi opprettet en katalog "Node-mongo”Og skiftet PWD til“Node-mongo”Ved å utstede følgende kommandoer:

$ mkdir node-mongo
$ CD Node-Mongo

Steg 2: Når du er inne på “Node-mongo”Katalog; Opprett et nodeprosjekt ved hjelp av følgende kommando:

$ npm init

Trinn 3: Etter det, utfør følgende kommando for å installere MongoDB -modulen som er nødvendig for å kjøre MongoDB -spørsmål (Vi har allerede installert denne driveren):

$ npm installer mongoDB

Merk: Det anbefales at du må ha nodeversjonen større enn v14 å legge til Mongodb sjåfør.

Etablere en forbindelse mellom MongoDB og NodeJs

Etter å ha satt opp miljøet, er du klar til å koble NodeJs med MongoDB. Dessuten er kodeditoren som brukes her "Visual Studio Code“.

Du må følge trinnene som er gitt nedenfor for å gjøre forbindelsen vellykket:

Trinn 1: Åpne mappen i “Visual Studio Code" applikasjon. Det observeres at to filer allerede er der, en heter "pakke.JSON”Og“pakkelås.JSON“. Disse filene opprettes når du initialiseres npm og installerte Mongodb sjåfør. Du kan opprette disse filene ved å følge Steg 2 og Trinn 3 av “Hvordan sette opp miljøet“.

Lage en ny ".JS”Fil til“Node-mongo”Og navn det”indeks.JS“.

Etter det, åpne “pakke.JSON”Fil og utfør følgende endringer for å gjøre“indeks.JS”Fil kjørbar.

Når du er ferdig, lagrer du endringene (Ctrl+s).

Steg 2: Åpne din "indeks.JS”Fil. Etter det, bruk følgende kode for å gjøre tilkoblingsforsøket. Tilkoblings -URLen må kopieres fra MongoDB Atlas.

For tilkoblings -URL må du gå til “Trinn 4”Av underavsnitt”- Mongodb Atlas”I“Forutsetninger" seksjon. For letthet er bildet festet nedenfor:

Trinn 3: Nå, åpne terminalen din (eller du kan bruke terminalen inne "Visual Studio Code”Også) og kjør følgende kommando for å teste forbindelsen:

Bildet nedenfor viser at forbindelsen er vellykket ettersom kommandoen returnerer en "tilkobling vellykket" beskjed.

$ npm startindeks.JS

Opprette en database og samling ved hjelp av NodeJs og MongoDB

Når du har opprettet en forbindelse med hell. Nå kan du utføre forskjellige MongoDB -operasjoner ved hjelp av NodeJS. Her har vi utført noen få trinn for å opprette databasen og samlingen.

Trinn 1 (valgfritt): La oss ta en titt på databaselisten før databasen ved å bruke følgende kommando i Mongo Shell.

> Vis DBS

Det kan observeres at det bare er 3 databaser.

Steg 2: Vi har laget en ny .JS fil og navngitt den “database.JS“. Legge inn følgende kode i "database.JS”Fil. Koden oppretter en database som heter “Linuxhint ”Og en samling som heter“personale“.

Kode

// Importer mongoDB -driver
var mongoClient = krever ('mongodb').Mongoclient;
// linuxhint_mongoDB er navnet på databasen vi lager her!!
var url = "mongodb: // localhost: 27017/linuxhint";
// få klienten til å koble til!!
Mongoclient.koble til (url, funksjon (feil, klient)
var db = klient.DB ('Linuxhint');
Hvis (feil) kast feil;
// en samling som heter "Staff" vil bli opprettet!!
db.CreateCollection ("Staff", funksjon (feil, resultat)
Hvis (feil) kast feil;
konsoll.logg ("Opprettet database og samling");
klient.Lukk();
);
);

Bilde

Åpne terminalen din og test koden ved å utføre “database.JS”Fil i terminalen din:

$ node -database.JS

Trinn 3 (valgfritt, men anbefalt): Selv om filen er utført med hell, anbefales det å sjekke eksistensen av den nyopprettede databasen og samlingen. For det, utfør følgende kommandoer:

> Vis DBS
> Bruk Linuxhint
> Vis samlinger

Sette inn dokumenter ved hjelp av NodeJs og MongoDB

I MongoDB er det to muligheter for å sette inn dokumenter:

Sett inn ett dokument: For innsetting av ett dokument, INSERTONE () Metode for MongoDB brukes. For dette, en ny fil “innsats.JS”Er opprettet, inne i“Node-mongo”Katalog. Følgende kode vil bare legge til ett dokument i "ansatte”Samling av“Linuxhint”Database.

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // localhost: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
var myobj = navn: "Alen", betegnelse: "forfatter";
dbo.Samling ("Ansatte").Insertone (myobj, funksjon (feil, res)
Hvis (feil) kast feil;
konsoll.Logg ("Du har satt inn ett dokument");
db.Lukk();
);
);

Bilde

Nå, åpne terminalen og kjør den nedenfor-nevnte kommandoen:

$ node insertone.JS

Sett inn flere dokumenter: For innsetting av flere dokumenter har vi laget en ny .JS fil og navngitt den “sett inn.JS“. Følgende kode vil hjelpe deg med å sette inn flere dokumenter i "personale”Samling av“Linuxhint”Database.

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // localhost: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
// opprettet en ny OBJ for å sette inn dokumenter
var insertobj = [
Navn: 'Sam', betegnelse: 'Team-leder',
Navn: 'John', betegnelse: 'Forfatter',
Navn: 'Kane', betegnelse: 'Instruktør',
Navn: 'Miln', betegnelse: 'Video Editor'
];
// Siden det er flere dokumenter, så brukes InsertMany () her
dbo.Samling ("Staff").InsertMany (InsertObj, funksjon (feil, res)
Hvis (feil) kast feil;
konsoll.logg ("du har satt inn" + res.Sett innCount + "Dokumenter!!");
db.Lukk();
);
);

Bilde

Bruk den nedenfor-nevnte kommandoen for å kjøre "sett inn.JS”Fil:

$ nodeinnsats.JS

Finne dokumenter i NodeJs og MongoDB

I MongoDB brukes Find () -metoden til å hente dokumenter fra hvilken som helst samling av en database. Vi har laget en "finne.JS”Fil som inneholder koden for å hente dokumenter fra“personale”Samling av“Linuxhint”Database. Koden for å finne () -metoden er gitt nedenfor:

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // localhost: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
dbo.Samling ("Staff").finne().toArray (funksjon (feil, resultat)
Hvis (feil) kast feil;
konsoll.logg (resultat);
db.Lukk();
);
);

Bilde

Utfør følgende kommando for å kjøre filen “finne.JS”Og utdataene vil vise dokumentene til“personale”Samling:

$ node finn.JS

Oppdatering av dokumenter i NodeJs og MongoDB

Datahåndteringen i enhver organisasjon sies å være god nok hvis de holder dataene oppdatert. MongoDB gir flere metoder for å oppdatere dokumenter som, UpdateOne (), UpdateMany ().

Oppdater ett dokument: For dette har vi opprettet en ny fil og kalt den “UpdateOne.JS“. Ettersom det kan eksistere flere dokumenter som har “betegnelse ” Verdien er lik "Forfatter", men UpdateOne () vil oppdatere det første dokumentet som samsvarer med tilstanden. Denne operasjonen bæres ved å bruke følgende kode:

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // 127.0.0.1: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
var cond = betegnelse: "forfatter";
var ch_val = $ set: betegnelse: "internee", status: "ny ansettelse";
dbo.Samling ("Staff").UpdateOne (cond, ch_val, funksjon (feil, res)
Hvis (feil) kast feil;
konsoll.logg ("vellykket!! Status er oppdatert!!");
db.Lukk();
);
);

Bilde

Du kan kjøre "UpdateOne.JS”Fil ved å bruke følgende kommando i terminalen:

$ node updateone.JS

Oppdater flere dokumenter: For å oppdatere flere dokumenter gir MongoDB støtte til UpdateManiaN () -metoden. Vi vil også bruke denne metoden i denne delen.

En ny fil (Oppdater.JS) opprettes som ligger i "Node-mongo”Katalog. Vi oppdaterer bare de dokumentene som har betegnelsesfeltverdien “Lagleder”Og følgende kode vil hjelpe oss i denne forbindelse:

Merk: Operasjonen brukes på "personale”Samling av database”Linuxhint“.

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // 127.0.0.1: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
var cond = betegnelse: "team-lead";
var ch_val = $ set: status: "promotert", new_designation: "manager";
dbo.Samling ("Staff").updateMany (cond, ch_val, funksjon (feil, res)
Hvis (feil) kast feil;
konsoll.Logg (res.resultat.NModified + "Dokumenter er oppdatert!!");
db.Lukk();
);
);

Bilde

Slette dokumenter i NodeJs og MongoDB

Som å sette inn og oppdatere metoder, kan du slette en så vel som flere dokumenter. Så vi har to muligheter her:

Slett ett dokument: For å slette et enkelt dokument, må du bruke DeleteOne () Metode for MongoDB. For dette, en ny “DeleteOne.JS”Fil opprettes som inneholder koden. Koden vist nedenfor vil slette dokumentet som samsvarer med “Navn”Verdi tilsvarer“Miln“:

Bilde

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // localhost: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
var cond = navn: 'miln';
dbo.Samling ("Staff").deleteOne (cond, funksjon (feil, obj)
Hvis (feil) kast feil;
konsoll.logg ("ett dokument slettet!!");
db.Lukk();
);
);

Kode

$ node DeleteOne.JS

Slett flere dokumenter: MongoDB gir støtte for å slette flere dokumenter samtidig, og man kan bruke deletemany () Metode for å gjøre det. Vi har opprettet en ny fil "slett.JS”Og denne filen er plassert i“Node-mongo”Katalog. Koden som vil slette flere dokumenter, etter vellykket utførelse av kommandoen. Kommandoen ser etter dokumentene der "betegnelse ” Feltet tilsvarer “Forfatter“.

Merk: Databasenavnet som brukes i dette eksemplet er "Linuxhint”Og samlingen som brukes her er“ansatte“.

Kode

var mongoClient = krever ('mongodb').Mongoclient;
var url = "mongodb: // localhost: 27017/";
Mongoclient.koble til (url, funksjon (feil, db)
Hvis (feil) kast feil;
var dbo = db.DB ("Linuxhint");
var myquery = betegnelse: "forfatter";
dbo.Samling ("Ansatte").deletemany (myquery, funksjon (feil, obj)
Hvis (feil) kast feil;
konsoll.Logg ("Slettingen er vellykket");
db.Lukk();
);
);

Bilde

Å kjøre “slett.JS”Fil, utfør følgende kommando i Ubuntu -terminalen:

$ node slett.JS

Konklusjon

NodeJS er et kjent kjøretidsmiljø som først og fremst brukes til programmering av serversiden. Mens MongoDB er en kjent NoSQL-database som lagrer så vel som administrerer de lagrede dataene. I denne artikkelen har vi presentert en tutorial av NodeJs og MongoDB. Ved å følge denne guiden har du lært å koble MongoDB -serveren med NodeJS -miljøet og noen grunnleggende operasjoner av MongoDB. Når tilkoblingen er etablert vellykket, kan du utføre alle MongoDB-relaterte operasjoner som vi har demonstrert måtene, å sette inn, oppdatere, slette, finne dokumenter i NodeJS MongoDB-miljøet. Denne guiden vil også hjelpe flere programmerere som jobber med NodeJs og MongoDB.