MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

MongoDB integreren met Node.js

Een robuuste moderne applicatie heeft een medium voor het opslaan van gegevens in de backend, zoals de Node-applicatie die zowel met niet-relationeel (zoals PostgresQL, MongoDB) als relationeel (zoals MySQL, Oracle) kan werken.

MongoDB is een niet-relationele database die relatief eenvoudig te gebruiken en krachtig is, en als u een Node.js-ontwikkelaar bent en wilt leren welke voordelen het met zich meebrengt en hoe u aan de slag kunt gaan met het creรซren van een veilige integratie met uw Node-applicatie, dan is dit is de gids voor jou!

In dit artikel zullen we leren hoe we MongoDB kunnen integreren/er verbinding mee kunnen maken; een zeer populaire niet-relationele database met Node.js en kijk hoe we deze kunnen gebruiken binnen Node-applicaties.

Opmerking: Om mee te gaan, moet je Node.js installeren. U kunt de langste stabiele versie (LTS) downloaden en vanaf deze op uw lokale computer installeren Officiรซle downloadpagina.

Korte informatie over MongoDB

MongoDB is de populairste en meest geavanceerde documentgebaseerde database, waarin alle gegevens worden opgeslagen in Binary JSON (JavaScript Object Notation), bekend als BSON. Een BSON is een document, zonder dat er een vooraf gedefinieerd gegevensschema nodig is. Hierdoor kunnen gegevens die vaak samen door een applicatie worden gebruikt, op dezelfde plaats worden opgeslagen en wordt het lezen van de database eenvoudig en snel.

In tegenstelling tot relationele tabellen zijn verzamelingen op zichzelf staand, waardoor het veel gemakkelijker is om ermee te werken. Wanneer een nieuw document wordt aangemaakt op een MongoDB-collectie, wordt er een ID aan toegewezen om het uniek te maken voor die collectie, en binnen het document kunnen meerdere velden worden gedefinieerd; waarbij de waarde een variant van gegevenstypen kan zijn, variรซrend van arrays, strings, gehele getallen, objecten enzovoort.

Om gegevens te manipuleren, is de query-API handig voor het uitvoeren van de basisbewerkingen voor maken, lezen, bijwerken en verwijderen (CRUD) in de database. Er kunnen ook secundaire indexen worden gemaakt om optimalisatie te garanderen en veelvoorkomende zoekopdrachten extreem snel te maken. Er worden ook georuimtelijke zoekopdrachten ondersteund, die het mogelijk maken om documenten op een specifieke geografische locatie te vinden.

Aan de slag met MongoDB

Voordat we aan de slag gaan met het verbinden met MongoDB vanuit een Node-applicatie, gaat u naar de officiรซle MongoDB-website om u aan te melden bij de Try Free knop (als u nog geen account heeft):

Nadat u uw account heeft aangemaakt, gaat u naar de knop Build a Database en klik om een โ€‹โ€‹database te maken:

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Maak vervolgens een gedeeld cluster aan (het is voor altijd gratis!) en geef het een naam naar keuze.

Het Shared Cluster is ideaal om te experimenteren in een beperkte sandbox. U kunt op elk gewenst moment upgraden naar een productiecluster.

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Wanneer u met succes een cluster hebt gemaakt, klikt u op de Connect knop om verbinding te maken met het cluster:

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

U krijgt nu vier verschillende manieren te zien om verbinding te maken met MongoDB, maar aangezien we verbinding willen maken met een Node-applicatie, laten we de optie kiezen Connect your application optie:

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Vervolgens wordt u gevraagd een verbindingsmethode te kiezen. Zorg ervoor dat u hier Node.js als uw stuurprogramma selecteert en een geschikte versie kiest (ik gebruik 4.1 of hoger terwijl ik dit artikel schrijf).

We krijgen ook een verbindingsreeks te zien die handig is voor het verbinden van ons MongoDB-cluster met een Node-applicatie:

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Nu moeten we een Node.js-applicatie maken om verbinding te maken met de MongoDB-database.

Het bouwen van de knooppunttoepassing

Maak een nieuwe map in de map van uw voorkeur voor dit project:

$ mkdir integrating-mongodb-node

Ren dan npm init in de terminal, om een โ€‹โ€‹Node-applicatie te initialiseren met a package.json bestand waarmee we applicatie-afhankelijkheden kunnen volgen:

$ 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

Bekijk onze praktische, praktische gids voor het leren van Git, met best-practices, door de industrie geaccepteerde normen en bijgevoegd spiekbriefje. Stop met Googlen op Git-commando's en eigenlijk leren het!

Nu we succesvol zijn geรฏnitialiseerd package.json, laten we doorgaan met het installeren van twee pakketten die nuttig zullen zijn bij het bouwen van onze server. De eerste is Express.js, een webframework voor snelle en eenvoudige ontwikkeling van Node-applicaties:

$ yarn add express -D

De tweede pakketten die we zouden installeren zijn het Mongoose-pakket, dat ons zou helpen het juiste schema voor onze database in de Node-app te bouwen:

$ yarn add mongoose -D

Nu de vereiste ontwikkelingsafhankelijkheden met succes zijn geรฏnstalleerd, kunnen we nu code schrijven om onze MongoDB-database te verbinden met onze Node-applicatie.

Maak in de map die we zojuist voor het project hebben gemaakt een server.js filet

$ touch server.js

Vervolgens definiรซren we de basisconfiguratie voor de Node-applicatie in server.js, door een eenvoudige express-server te maken.



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

const port = 8000;

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

We kunnen bevestigen dat onze server naar behoren werkt door de volgende code in de terminal uit te voeren.

$ node server.js

Wat zou moeten resulteren in:

Server started at port 8000

Nu kunt u teruggaan naar uw MongoDB-dashboard om de URI (Uniform Resource Idenfier) โ€‹โ€‹te kopiรซren om de Node-app met de database te verbinden.

I server.js maak een variabele om de uniforme resource-ID op te slaan en vervang de URI met het wachtwoord van uw MongoDB-account.



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

Vervolgens creรซren we een asynchrone functie om ons in staat te stellen verbinding te maken met MongoDB, omdat we niet weten hoe lang het kan duren voordat de functie is voltooid voordat we verbinding krijgen met de database:

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

We hebben een asynchrone functie gemaakt die a Connected to MongoDB bericht wanneer er met succes een verbinding tot stand is gebracht tussen MongoDB en de Node-app, en registreer eventuele fouten als er een fout optreedt.

Nu moeten we de server opnieuw opstarten:

$ node server.js

En ontvang een succesvol bericht dat ons informeert dat er nu een veilige verbinding tot stand is gebracht tussen de MongoDB-database en de Node-applicatie:

Server started at port 8000
Connected to MongoDB

Wanneer u nu teruggaat naar uw dashboard voor uw projectcluster, ziet u nu informatie waaruit blijkt dat er onlangs een verbinding met de database is geweest:

MongoDB integreren met Node.js PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Okรฉ mensen, dat is het! We hebben met succes een MongoDB-database geรฏntegreerd binnen een Node.js-applicatie.

Conclusie

In dit artikel hebben we geleerd hoe u een veilige verbinding tot stand kunt brengen tussen een Node.js-applicatie en een MongoDB-database. Nu kunt u eenvoudig hetzelfde doen als u een applicatie moet bouwen met MongoDB; een zeer populaire niet-relationele database in het ecosysteem.

Vergeet niet dat de MongoDB-documentatie is uw beste vriend als u meer wilt weten over MongoDB, en voor meer informatie over het bouwen van Express-applicaties kunt u contact opnemen met de Express-documentatie ook.

Als je vastloopt tijdens het volgen van de tutorial, denk dan gerust eens na GitHub-opslagplaats voor het project om je weg te vinden.

Aanvullende informatiebronnen

Tijdstempel:

Meer van Stapelmisbruik