Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Integrering av MongoDB med Node.js

En moderne robost-applikasjon har et medium for lagring av data i backend, for eksempel Node-applikasjon som er i stand til å jobbe med både ikke-relasjonelle (som PostgresQL, MongoDB) og relasjonelle (som MySQL, Oracle).

MongoDB er en ikke-relasjonell database som er relativt enkel å bruke og kraftig, og hvis du er en Node.js-utvikler som ønsker å lære fordelene den gir og hvordan du kommer i gang med å lage en sikker integrasjon med din Node-applikasjon, er dette er guiden for deg!

I denne artikkelen vil vi lære hvordan du integrerer/kobler til MongoDB; en veldig populær ikke-relasjonell database med Node.js og se hvordan vi kan bruke den i Node-applikasjoner.

OBS: For å følge med må du installere Node.js. Du kan laste ned den lengste stabile versjonen (LTS) og installere på din lokale maskin fra dens Offisiell nedlastingsside.

Kort info om MongoDB

MongoDB er den mest populære og mest avanserte dokumentbaserte databasen, hvor all data er lagret i Binary JSON (JavaScript Object Notation) kjent som BSON. En BSON er en dokument, uten behov for et forhåndsdefinert dataskjema. Det gjør at data som ofte åpnes sammen av en applikasjon, kan lagres på samme sted og gjør databaselesing enkel og rask.

I motsetning til relasjonstabeller er samlinger selvstendige, dette gjør dem mye lettere å jobbe med. Når et nytt dokument opprettes på en MongoDB-samling, blir en ID tilordnet det for å gjøre det unikt for den samlingen, og inne i dokumentet kan flere felt defineres; der verdien kan være en variant av datatyper som strekker seg fra matriser, strenger, heltall, objekter og så videre.

For å manipulere data, er spørrings-APIet nyttig for å utføre de grunnleggende Create, Read, Update and Delete (CRUD) operasjonene på tvers av databasen. Sekundære indekser kan også opprettes for å sikre optimalisering og gjøre vanlige spørringer ekstremt raske. Geospatiale spørringer støttes også, som gjør det mulig å finne dokumenter på et bestemt geografisk sted.

Komme i gang med MongoDB

Før vi begynner med å koble til MongoDB fra en Node-applikasjon, gå til det offisielle MongoDB-nettstedet for å registrere deg med Try Free knapp (hvis du ikke allerede har en konto):

Etter å ha opprettet kontoen din, gå over for å klikke på Build a Database -knappen, og klikk for å opprette en database:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Deretter oppretter du en delt klynge (den er gratis for alltid!) og gir den et valgfritt navn.

Den delte klyngen er ideell for å eksperimentere i en begrenset sandkasse. Du kan oppgradere til en produksjonsklynge når som helst.

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Når du har opprettet en klynge, klikker du på Connect knappen for å koble til klyngen:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du blir nå vist fire forskjellige måter på hvordan du kobler til MongoDB, men siden vi ønsker å koble til en Node-applikasjon, la oss velge Connect your application alternativ:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Du vil da bli bedt om å velge en tilkoblingsmetode. Her, sørg for å velge Node.js som driver, og velg en passende versjon (jeg bruker 4.1 eller nyere mens jeg skriver denne artikkelen).

Vi får også vist en tilkoblingsstreng som er nyttig for å koble MongoDB-klyngen vår til en Node-applikasjon:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Nå må vi lage en Node.js-applikasjon for å koble til MongoDB-databasen.

Bygge nodeapplikasjonen

Opprett en ny mappe i din foretrukne katalog for dette prosjektet:

$ mkdir integrating-mongodb-node

Så løp npm init i terminalen, for å initialisere en Node-applikasjon med en package.json fil som gjør det mulig for oss å spore applikasjonsavhengigheter:

$ npm init

package name: (codes) integrating-mongodb-node
version: (1.0.0)
description: learning how to connect mongodb to a node app
entry point: (server.js)
test command:
git repository:
keywords:
author:
Is this OK? (yes) yes

Sjekk ut vår praktiske, praktiske guide for å lære Git, med beste praksis, bransjeaksepterte standarder og inkludert jukseark. Slutt å google Git-kommandoer og faktisk lære den!

Nå som vi har initialisert package.json, la oss gå videre med å installere to pakker som vil være nyttige for å bygge serveren vår. Den første er Express.js, som er et nettrammeverk for rask og enkel utvikling av Node-applikasjoner:

$ yarn add express -D

Den andre pakken vi vil installere er Mongoose-pakken, som vil hjelpe oss med å bygge passende skjema for databasen vår i Node-appen:

$ yarn add mongoose -D

Med de nødvendige utviklingsavhengighetene installert, kan vi nå skrive kode for å koble MongoDB-databasen vår til Node-applikasjonen vår.

I katalogen som vi nettopp opprettet for prosjektet, oppretter du en server.js fil

$ touch server.js

Deretter definerer vi det grunnleggende oppsettet for Node-applikasjonen i server.js, ved å lage en enkel ekspressserver.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Vi kan bekrefte at serveren vår kjører som den skal, ved å kjøre følgende kode i terminalen.

$ node server.js

Som bør resultere i:

Server started at port 8000

Nå kan du gå tilbake til MongoDB-dashbordet for å kopiere URI (Uniform Resource Idenfier) ​​for å koble Node-appen til databasen.

I server.js opprette en variabel for å lagre den enhetlige ressursidentifikatoren, og erstatte den på URI med passordet til MongoDB-kontoen din.



const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";

const port = 8000;

app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Deretter lager vi en asynkron funksjon for å gjøre det mulig for oss å koble til MongoDB, fordi vi ikke vet hvor lang tid det kan ta før funksjonen fullføres før vi kobles til databasen:

const express = require("express");
const mongoose = require("mongoose");
const app = express();

const uri =
  "mongodb+srv://UcheAzubuko:@stackabusecluster.fgavg5s.mongodb.net/?retryWrites=true&w=majority";
async function connect() {
  try {
    await mongoose.connect(uri);
    console.log("Connected to MongoDB");
  } catch (error) {
    console.log(error);
  }
}
connect();

const port = 8000;
app.listen(port, () => {
  console.log(`Server started at port ${port}`);
});

Vi har laget en asynkron funksjon som logger en Connected to MongoDB melding når en forbindelse er vellykket etablert mellom MongoDB og Node-appen, og logg eventuelle feil hvis det oppstår en feil.

Nå bør vi starte serveren på nytt:

$ node server.js

Og få en vellykket melding som informerer oss om at det nå er opprettet en sikker forbindelse mellom MongoDB-databasen og Node-applikasjonen:

Server started at port 8000
Connected to MongoDB

På dette tidspunktet, når du går tilbake til dashbordet for prosjektklyngen, vil du nå se informasjon som viser at det har vært en tilkobling til databasen nylig:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Ok folkens, det er det! Vi har vellykket integrert en MongoDB-database i en Node.js-applikasjon.

konklusjonen

I denne artikkelen har vi lært hvordan du oppretter en sikker forbindelse mellom en Node.js-applikasjon og en MongoDB-database. Nå kan du enkelt gjøre det samme når du trenger å bygge en applikasjon ved hjelp av MongoDB; en veldig populær ikke-relasjonell database i økosystemet.

Ikke glem at MongoDB-dokumentasjon er din beste venn for å lære om MongoDB, og for å lære mer om å bygge Express-applikasjoner, ta kontakt med Ekspressdokumentasjon også.

Hvis du blir sittende fast mens du følger opplæringen, må du gjerne tenke gjennom GitHub repo for prosjektet å finne veien.

Tilleggsressurser

Tidstempel:

Mer fra Stackabuse