Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Integrera MongoDB med Node.js

En modern Robost-applikation har ett medium för att lagra data i sin backend som Node-applikation som kan arbeta med både icke-relationell (som PostgresQL, MongoDB) och relationell (som MySQL, Oracle).

MongoDB är en icke-relationell databas som är relativt lätt att använda och kraftfull, och om du är en Node.js-utvecklare som vill lära dig fördelarna som den ger och hur du kommer igång med att skapa en säker integration med din Node-applikation, detta är guiden för dig!

I den här artikeln kommer vi att lära oss hur man integrerar/ansluter till MongoDB; en mycket populär icke-relationell databas med Node.js och se hur vi kan använda den inom Node-applikationer.

Notera: För att följa med måste du installera Node.js. Du kan ladda ner den längsta stabila versionen (LTS) och installera på din lokala dator från dess Officiell nedladdningssida.

Kort information om MongoDB

MongoDB är den mest populära och mest avancerade dokumentbaserade databasen, där all data lagras i Binary JSON (JavaScript Object Notation) känd som BSON. En BSON är en dokumentera, utan behov av ett fördefinierat dataschema. Det tillåter data som ofta nås tillsammans av en applikation att lagras på samma plats och gör databasläsning enkel och snabb.

Till skillnad från relationstabeller är samlingar fristående, vilket gör dem mycket lättare att arbeta med. När ett nytt dokument skapas på en MongoDB-samling, tilldelas ett ID till det för att göra det unikt för den samlingen, och inuti dokumentet kan flera fält definieras; där värdet kan vara en variant av datatyper som sträcker sig från arrayer, strängar, heltal, objekt och så vidare.

För att manipulera data är fråge-API:et användbart för att utföra de grundläggande skapa, läs, uppdatera och ta bort (CRUD) operationer i databasen. Sekundära index kan också skapas för att säkerställa optimering och göra vanliga frågor extremt snabba. Geospatiala frågor stöds också, vilket gör det möjligt att hitta dokument på en specifik geografisk plats.

Komma igång med MongoDB

Innan vi börjar med att ansluta till MongoDB från en Node-applikation, gå till den officiella MongoDB-webbplatsen för att registrera dig med Try Free knapp (om du inte redan har ett konto):

När du har skapat ditt konto, gå över för att klicka på Build a Database och klicka för att skapa en databas:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Skapa sedan ett delat kluster (det är gratis för alltid!) och ge det ett valfritt namn.

Det delade klustret är idealiskt för att experimentera i en begränsad sandlåda. Du kan uppgradera till ett produktionskluster när som helst.

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När du har skapat ett kluster, klicka på Connect knapp för att ansluta till klustret:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du visas nu fyra olika sätt att ansluta till MongoDB, men eftersom vi vill ansluta till en Node-applikation, låt oss välja Connect your application alternativ:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Du blir då ombedd att välja en anslutningsmetod. Se här till att välja Node.js som din drivrutin och välj en lämplig version (jag använder 4.1 eller senare när jag skriver den här artikeln).

Vi visas också en anslutningssträng som är användbar för att ansluta vårt MongoDB-kluster till en Node-applikation:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Nu måste vi skapa en Node.js-applikation för att ansluta till MongoDB-databasen.

Bygga nodapplikationen

Skapa en ny mapp i din föredragna katalog för det här projektet:

$ mkdir integrating-mongodb-node

Spring sedan npm init i terminalen, för att initiera en nodapplikation med en package.json fil som gör det möjligt för oss att spåra applikationsberoende:

$ 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

Kolla in vår praktiska, praktiska guide för att lära dig Git, med bästa praxis, branschaccepterade standarder och medföljande fuskblad. Sluta googla Git-kommandon och faktiskt lära Det!

Nu när vi framgångsrikt har initierat package.json, låt oss gå vidare och installera två paket som kommer att vara till hjälp för att bygga vår server. Den första är Express.js, som är ett webbramverk för snabb och enkel utveckling av Node-applikationer:

$ yarn add express -D

Det andra paketet vi skulle installera är Mongoose-paketet, som skulle hjälpa oss att bygga lämpligt schema för vår databas i Node-appen:

$ yarn add mongoose -D

Med de nödvändiga utvecklingsberoendena nu installerade, kan vi nu skriva kod för att ansluta vår MongoDB-databas till vår Node-applikation.

I katalogen som vi just skapade för projektet, skapa en server.js fil

$ touch server.js

Därefter definierar vi den grundläggande inställningen för Node-applikationen i server.js, genom att skapa en enkel expressserver.



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äfta att vår server fungerar som den ska genom att köra följande kod i terminalen.

$ node server.js

Vilket borde resultera i:

Server started at port 8000

Nu kan du gå tillbaka till din MongoDB-instrumentpanel för att kopiera URI (Uniform Resource Idenfier) ​​för att ansluta Node-appen till databasen.

I server.js skapa en variabel för att lagra den enhetliga resursidentifieraren och på URI:n ersätta med lösenordet för ditt 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}`);
});

Därefter skapar vi en asynkron funktion för att göra det möjligt för oss att ansluta till MongoDB, eftersom vi inte vet hur lång tid det kan ta för funktionen att slutföra innan vi blir anslutna till 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 skapat en asynkron funktion som loggar en Connected to MongoDB meddelande när en anslutning har upprättats mellan MongoDB och Node-appen, och logga eventuella fel om ett fel uppstår.

Nu bör vi starta om servern:

$ node server.js

Och få ett framgångsrikt meddelande som informerar oss om att en säker anslutning nu har upprättats mellan MongoDB-databasen och Node-applikationen:

Server started at port 8000
Connected to MongoDB

Vid det här laget, när du går tillbaka till din instrumentpanel för ditt projektkluster, kommer du nu att se information som visar att det har varit en anslutning till databasen nyligen:

Integrering av MongoDB med Node.js PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Okej gott folk, det är det! Vi har framgångsrikt integrerat en MongoDB-databas i en Node.js-applikation.

Slutsats

I den här artikeln har vi lärt oss hur man skapar en säker anslutning mellan en Node.js-applikation och en MongoDB-databas. Nu kan du enkelt göra detsamma när du behöver bygga en applikation med MongoDB; en mycket populär icke-relationell databas i ekosystemet.

Glöm inte att MongoDB-dokumentation är din bästa vän för att lära dig om MongoDB, och för att lära dig mer om att bygga Express-applikationer, kontakta Expressdokumentation också.

Om du fastnar när du följer handledningen, fundera gärna igenom GitHub repo för projektet att hitta din väg.

Ytterligare resurser

Tidsstämpel:

Mer från Stackabuse