Vahvassa nykypäivän sovelluksessa on taustatietoväline tietojen tallentamiseen, kuten Node-sovellus, joka pystyy toimimaan sekä ei-relatiivisten (kuten PostgresQL, MongoDB) että relaatioiden (kuten MySQL, Oracle) kanssa.
MongoDB on ei-relaatiotietokanta, joka on suhteellisen helppokäyttöinen ja tehokas, ja jos olet Node.js-kehittäjä, joka haluaa oppia sen tuomat edut ja kuinka aloittaa turvallisen integraation luominen Node-sovellukseesi, tämä on opas sinulle!
Tässä artikkelissa opimme integroimaan / muodostamaan yhteyden MongoDB:hen; erittäin suosittu ei-relaatiotietokanta Node.js:n kanssa ja katso kuinka voimme käyttää sitä Node-sovelluksissa.
Huomautus: Jotta voit jatkaa, sinun on asennettava Node.js. Voit ladata pisimmän vakaan version (LTS) ja asentaa sen paikalliselle koneellesi Virallinen lataussivu.
Lyhyt tietoa MongoDB:stä
MongoDB on suosituin ja edistynein dokumenttipohjainen tietokanta, jossa kaikki tiedot on tallennettu binaariseen JSON-muotoon (JavaScript Object Notation), joka tunnetaan nimellä BSON. BSON on a asiakirja, ilman ennalta määritettyä dataskeemaa. Se mahdollistaa tietojen, joita sovellus käyttää usein yhdessä, tallentamisen samaan paikkaan ja tekee tietokannan lukemisesta helppoa ja nopeaa.
Toisin kuin relaatiotaulukot, kokoelmat ovat itsenäisiä, mikä tekee niistä paljon helpompi käsitellä. Kun uusi asiakirja luodaan MongoDB-kokoelmaan, sille määritetään tunnus, joka tekee siitä yksilöllisen kyseiselle kokoelmalle, ja asiakirjan sisällä voidaan määrittää useita kenttiä. jossa arvo voi olla tietotyyppien muunnelma taulukoista, merkkijonoista, kokonaisluvuista, objekteista ja niin edelleen.
Tietojen käsittelyä varten kyselyn API on hyödyllinen luonti-, luku-, päivitys- ja poistotoimintojen (CRUD) suorittamiseen koko tietokannassa. Toissijaisia indeksejä voidaan myös luoda optimoinnin varmistamiseksi ja yleisten kyselyjen tekemiseksi erittäin nopeiksi. Myös paikkatietokyselyjä tuetaan, mikä mahdollistaa asiakirjojen etsimisen tietystä maantieteellisestä sijainnista.
MongoDB:n käytön aloittaminen
Ennen kuin aloitamme yhteyden muodostamisen MongoDB:hen Node-sovelluksesta, siirry viralliselle MongoDB-sivustolle rekisteröityäksesi Try Free
-painiketta (jos sinulla ei vielä ole tiliä):
Kun olet luonut tilisi, siirry napsauttamalla Build a Database
-painiketta ja luo tietokanta napsauttamalla:
Luo seuraavaksi jaettu klusteri (se on ilmainen ikuisesti!) ja anna sille haluamasi nimi.
Jaettu klusteri on ihanteellinen kokeiluun rajoitetussa hiekkalaatikossa. Voit päivittää tuotantoklusteriin milloin tahansa.
Kun olet luonut klusterin onnistuneesti, napsauta Connect
-painiketta klusteriin yhdistämiseksi:
Sinulle näytetään nyt neljä eri tapaa muodostaa yhteys MongoDB:hen, mutta koska haluamme muodostaa yhteyden Node-sovellukseen, anna meidän valita Connect your application
vaihtoehto:
Sen jälkeen sinua pyydetään valitsemaan yhteystapa. Varmista tässä, että valitset Node.js-ohjaimeksi ja valitse sopiva versio (käytän 4.1:tä tai uudempaa tätä artikkelia kirjoittaessani).
Meille näytetään myös yhteysmerkkijono, joka on hyödyllinen yhdistäessämme MongoDB-klusterimme Node-sovellukseen:
Nyt meidän on luotava Node.js-sovellus muodostaaksemme yhteyden MongoDB-tietokantaan.
Solmusovelluksen rakentaminen
Luo uusi kansio tämän projektin haluamaasi hakemistoon:
$ mkdir integrating-mongodb-node
Sitten juokse npm init
terminaalissa solmusovelluksen alustamiseksi a package.json
tiedosto, jonka avulla voimme seurata sovellusten riippuvuuksia:
$ 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
Tutustu käytännönläheiseen, käytännölliseen Gitin oppimisoppaaseemme, jossa on parhaat käytännöt, alan hyväksymät standardit ja mukana tuleva huijauslehti. Lopeta Git-komentojen googlailu ja oikeastaan oppia se!
Nyt kun alustus on onnistunut package.json
, lähdetään asentamaan kaksi pakettia, joista on apua palvelimemme rakentamisessa. Ensimmäinen on Express.js, joka on verkkokehys Node-sovellusten nopeaan ja helppoon kehittämiseen:
$ yarn add express -D
Toinen asentamamme paketti on Mongoose-paketti, joka auttaisi meitä rakentamaan sopivan skeeman tietokantaamme Node-sovelluksessa:
$ yarn add mongoose -D
Kun tarvittavat kehitysriippuvuudet on nyt asennettu onnistuneesti, voimme nyt kirjoittaa koodia yhdistääksemme MongoDB-tietokantamme Node-sovellukseemme.
Luo hakemistoon, jonka juuri loimme projektille, a server.js
tiedosto
$ touch server.js
Seuraavaksi määritämme Node-sovelluksen perusasetukset server.js
, luomalla yksinkertaisen pikapalvelimen.
const express = require("express");
const mongoose = require("mongoose");
const app = express();
const port = 8000;
app.listen(port, () => {
console.log(`Server started at port ${port}`);
});
Voimme varmistaa, että palvelimemme toimii niin kuin sen pitääkin, suorittamalla seuraavan koodin päätteessä.
$ node server.js
Minkä pitäisi johtaa:
Server started at port 8000
Nyt voit palata MongoDB-hallintapaneeliin kopioimaan URI (Uniform Resource Idedenfier) yhdistääksesi Node-sovelluksen tietokantaan.
I server.js
Luo muuttuja yhtenäisen resurssitunnisteen tallentamiseksi ja korvaa URI MongoDB-tilisi salasanalla.
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}`);
});
Seuraavaksi luomme asykronisen funktion, jonka avulla voimme muodostaa yhteyden MongoDB:hen, koska emme tiedä kuinka kauan toiminnon valmistuminen voi kestää ennen kuin saamme yhteyden tietokantaan:
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}`);
});
Olemme luoneet asynkronisen funktion, joka kirjaa a Connected to MongoDB
viesti, kun yhteys on muodostettu onnistuneesti MongoDB:n ja Node-sovelluksen välille, ja kirjaa kaikki virheet, jos virhe ilmenee.
Nyt meidän pitäisi käynnistää palvelin uudelleen:
$ node server.js
Ja saat onnistuneesti viestin, joka ilmoittaa, että suojattu yhteys on nyt muodostettu MongoDB-tietokannan ja Node-sovelluksen välille:
Server started at port 8000
Connected to MongoDB
Tässä vaiheessa, kun palaat projektiklusterisi kojelautaan, näet nyt tietoja, jotka osoittavat, että tietokantaan on ollut yhteys äskettäin:
Okei ihmiset, siinä se! Olemme onnistuneesti integroineet MongoDB-tietokannan Node.js-sovellukseen.
Yhteenveto
Tässä artikkelissa olemme oppineet luomaan suojatun yhteyden Node.js-sovelluksen ja MongoDB-tietokannan välille. Nyt voit tehdä saman helposti, kun sinun on rakennettava sovellus MongoDB:n avulla; erittäin suosittu ei-relaatiotietokanta ekosysteemissä.
Älä unohda, että MongoDB-dokumentaatio on paras ystäväsi oppiessasi MongoDB:stä, ja saadaksesi lisätietoja Express-sovellusten rakentamisesta, ota yhteyttä Pikadokumentaatio liikaa.
Jos jumiudut opetusohjelman seuraamiseen, voit vapaasti miettiä GitHub repo projektille löytääksesi tiesi.