Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Integrering af MongoDB med Node.js

En moderne Robost-applikation har et medium til lagring af data i sin backend, såsom Node-applikation, som er i stand til at arbejde med både ikke-relationelle (såsom PostgresQL, MongoDB) og relationelle (såsom MySQL, Oracle).

MongoDB er en ikke-relationel database, der er relativt nem at bruge og kraftfuld, og hvis du er en Node.js-udvikler, som gerne vil lære de fordele, det giver, og hvordan du kommer i gang med at skabe en sikker integration med din Node-applikation, er guiden til dig!

I denne artikel lærer vi, hvordan man integrerer/opretter forbindelse til MongoDB; en meget populær ikke-relationel database med Node.js og se, hvordan vi kan bruge den i Node-applikationer.

Bemærk: For at følge med skal du installere Node.js. Du kan downloade den længste stabile version (LTS) og installere på din lokale maskine fra dens Officiel downloadside.

Kort info om MongoDB

MongoDB er den mest populære og mest avancerede dokumentbaserede database, hvor alle data er gemt i Binary JSON (JavaScript Object Notation) kendt som BSON. En BSON er en dokumentet, uden behov for et foruddefineret dataskema. Det tillader data, der ofte tilgås sammen af ​​en applikation, at blive gemt på samme sted og gør databaselæsning let og hurtig.

I modsætning til relationelle tabeller er samlinger selvstændige, hvilket gør dem meget nemmere at arbejde med. Når et nyt dokument oprettes på en MongoDB-samling, tildeles et ID til det for at gøre det unikt for denne samling, og inde i dokumentet kan flere felter defineres; hvor værdien kunne være en variant af datatyper lige fra arrays, strenge, heltal, objekter og så videre.

For at manipulere data er forespørgsels-API'en nyttig til at udføre de grundlæggende Opret, Læs, Opdater og Slet (CRUD) operationer på tværs af databasen. Sekundære indekser kan også oprettes for at sikre optimering og gøre almindelige forespørgsler ekstremt hurtige. Geospatiale forespørgsler understøttes også, som gør det muligt at finde dokumenter på en bestemt geografisk placering.

Kom godt i gang med MongoDB

Før vi går i gang med at oprette forbindelse til MongoDB fra en Node-applikation, skal du gå til det officielle MongoDB-websted for at tilmelde dig Try Free knap (hvis du ikke allerede har en konto):

Når du har oprettet din konto, skal du gå over for at klikke på Build a Database knappen, og klik for at oprette en database:

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Opret derefter en delt klynge (den er gratis for evigt!) og giv den et navn efter eget valg.

Den delte klynge er ideel til at eksperimentere i en begrænset sandkasse. Du kan til enhver tid opgradere til en produktionsklynge.

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Når du har oprettet en klynge, skal du klikke på Connect knap for at oprette forbindelse til klyngen:

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du bliver nu vist fire forskellige måder, hvordan du forbinder med MongoDB, men da vi ønsker at oprette forbindelse til en Node-applikation, lad os vælge Connect your application valgmulighed:

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Du vil derefter blive bedt om at vælge en forbindelsesmetode. Her skal du sørge for at vælge Node.js som din driver og vælge en passende version (jeg bruger 4.1 eller nyere, mens jeg skriver denne artikel).

Vi får også vist en forbindelsesstreng, som er nyttig til at forbinde vores MongoDB-klynge til en Node-applikation:

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nu skal vi oprette en Node.js-applikation for at oprette forbindelse til MongoDB-databasen.

Opbygning af Node-applikationen

I din foretrukne mappe til dette projekt skal du oprette en ny mappe:

$ mkdir integrating-mongodb-node

Så løb npm init i terminalen for at initialisere en Node-applikation med en package.json fil, der gør det muligt for os at spore applikationsafhængigheder:

$ 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

Tjek vores praktiske, praktiske guide til at lære Git, med bedste praksis, brancheaccepterede standarder og inkluderet snydeark. Stop med at google Git-kommandoer og faktisk lærer det!

Nu hvor vi har initialiseret package.json, lad os gå videre med at installere to pakker, der vil være nyttige ved opbygningen af ​​vores server. Den første er Express.js, som er en webramme til hurtig og nem udvikling af Node-applikationer:

$ yarn add express -D

Den anden pakke, vi ville installere, er Mongoose-pakken, som ville hjælpe os med at bygge et passende skema til vores database i Node-appen:

$ yarn add mongoose -D

Med de nødvendige udviklingsafhængigheder nu installeret med succes, kan vi nu skrive kode for at forbinde vores MongoDB-database med vores Node-applikation.

I den mappe, vi lige har oprettet til projektet, skal du oprette en server.js fil

$ touch server.js

Dernæst definerer vi den grundlæggende opsætning for Node-applikationen i server.js, ved at oprette en simpel ekspresserver.



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 bekræfte, at vores server kører, som den skal, ved at køre følgende kode i terminalen.

$ node server.js

Hvilket burde resultere i:

Server started at port 8000

Nu kan du gå tilbage til dit MongoDB-dashboard for at kopiere URI'en (Uniform Resource Idenfier) ​​for at forbinde Node-appen til databasen.

I server.js oprette en variabel til at gemme den ensartede ressource-id og erstatte den på URI'en med adgangskoden til din MongoDB-konto.



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}`);
});

Dernæst opretter vi en asynkron funktion for at gøre det muligt for os at oprette forbindelse til MongoDB, fordi vi ikke ved, hvor lang tid det kan tage for funktionen at fuldføre, før vi får forbindelse 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 lavet en asynkron funktion, som logger en Connected to MongoDB besked, når en forbindelse er blevet etableret mellem MongoDB og Node-appen, og log eventuelle fejl, hvis der opstår en fejl.

Nu skal vi genstarte serveren:

$ node server.js

Og få en vellykket besked, der informerer os om, at der nu er etableret en sikker forbindelse mellem MongoDB-databasen og Node-applikationen:

Server started at port 8000
Connected to MongoDB

På dette tidspunkt, når du går tilbage til dit dashboard for din projektklynge, vil du nu se information, der viser, at der har været en forbindelse til databasen for nylig:

Integrering af MongoDB med Node.js PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Okay folkens, det er det! Vi har med succes integreret en MongoDB-database i en Node.js-applikation.

Konklusion

I denne artikel har vi lært, hvordan man opretter en sikker forbindelse mellem en Node.js-applikation og en MongoDB-database. Nu kan du nemt gøre det samme, når du skal bygge en applikation ved hjælp af MongoDB; en meget populær ikke-relationel database i økosystemet.

Glem ikke, at MongoDB dokumentation er din bedste ven for at lære om MongoDB, og for at lære mere om at bygge Express-applikationer, tag fat i Ekspres dokumentation også.

Hvis du går i stå, mens du følger vejledningen, er du velkommen til at tænke igennem GitHub repo for projektet at finde vej.

Yderligere ressourcer

Tidsstempel:

Mere fra Stablemisbrug