Node.js MongoDB Esimerkkejä sisältävä opetusohjelma

Useimmiten kaikkien nykyaikaisten verkkosovellusten taustalla on jonkinlainen tiedontallennusjärjestelmä. Jos otat esimerkiksi verkkokauppasovelluksen, tietokantaan tallennettaisiin tietoja, kuten tuotteen hinta.

Node js -kehys voi toimia tietokantojen kanssa, joissa on sekä relaatio (esim Oracle ja MS SQL Server) ja ei-relaatiotietokannat (esim MongoDB). Tässä opetusohjelmassa näemme, kuinka voimme käyttää tietokantoja Node js -sovelluksista.

Node.js- ja NoSQL-tietokannat

Vuosien varrella NoSQL-tietokanta, kuten MongoDB ja For MySQL ovat tulleet melko suosituiksi tietokantoina tietojen tallentamiseen. Näiden tietokantojen kyky tallentaa kaikentyyppistä sisältöä ja erityisesti missä tahansa muodossa tekee näistä tietokannoista niin kuuluisia.

Node.js pystyy toimimaan molempien kanssa MySQL ja MongoDB tietokantoina. Jotta voit käyttää jompaakumpaa näistä tietokannoista, sinun on ladattava ja käytettävä tarvittavat moduulit käyttämällä Node-pakettienhallintaa.

varten MySQL, tarvittava moduuli on nimeltään "mysql" ja käytettäväksi MongoDB vaadittu asennettava moduuli on "Mongoose".

Näiden moduulien avulla voit suorittaa seuraavat toiminnot Node.js:ssä

  1. Hallinnoi yhteysvarausta – Tässä voit määrittää niiden lukumäärän MySQL tietokantayhteydet, joita Node.js:n tulee ylläpitää ja tallentaa.
  2. Luo ja sulje yhteys tietokantaan. Kummassakin tapauksessa voit tarjota takaisinsoittotoiminnon, joka voidaan kutsua aina, kun "luo"- ja "sulje"-yhteysmenetelmät suoritetaan.
  3. Kyselyjä voidaan suorittaa tietojen saamiseksi vastaavista tietokannoista tietojen hakemiseksi.
  4. Tietojen käsittely, kuten tietojen lisääminen, poistaminen ja päivittäminen, voidaan myös saavuttaa näillä moduuleilla.

Muiden aiheiden osalta tarkastelemme, kuinka voimme työskennellä niiden kanssa MongoDB sisällä olevia tietokantoja Node.js.

Käyttäminen MongoDB ja Node.js

Kuten edellisessä aiheessa todettiin, MongoDB on yksi suosituimmista tietokannoista, joita käytetään Node.js:n kanssa.

Tämän luvun aikana näemme

Kuinka voimme luoda yhteyksiä a MongoDB tietokanta

Kuinka voimme suorittaa normaalit toiminnot tietojen lukemiseksi tietokannasta sekä tietueiden lisäämisestä, poistamisesta ja päivittämisestä MongoDB tietokanta.

Tätä lukua varten oletetaan, että meillä on alla MongoDB tiedot paikoillaan.

Tietokannan nimi: EmployeeDB

Kokoelman nimi: Työntekijä

Documents
{
	{Employeeid : 1, Employee Name : Guru99},
	{Employeeid : 2, Employee Name : Joe},
	{Employeeid : 3, Employee Name : Martin},
}
  1. NPM-moduulien asentaminen

Tarvitset ohjaimen käyttääksesi Mongoa Node-sovelluksesta. Saatavilla on useita Mongo-ajureita, mutta MongoDB on suosituimpien joukossa. Asentaaksesi MongoDB moduuli, suorita alla oleva komento

npm asenna mongodb

  1. Yhteyden luominen ja sulkeminen a MongoDB tietokanta. Alla oleva koodinpätkä näyttää kuinka luodaan ja suljetaan yhteys a MongoDB tietokanta.

Käyttäminen MongoDB ja Node.js

Koodin selitys:

  1. Ensimmäinen askel on sisällyttää mangoose-moduuli, joka tehdään vaati-toiminnon kautta. Kun tämä moduuli on asennettu, voimme käyttää tässä moduulissa olevia tarvittavia toimintoja luodaksemme yhteyksiä tietokantaan.
  2. Seuraavaksi määritämme yhteysmerkkijonomme tietokantaan. Yhdistämismerkkijonossa on 3 avainarvoa, jotka välitetään.
  • Ensimmäinen on "mongodb", joka määrittää, että olemme yhteydessä mongoDB-tietokantaan.
  • Seuraava on "localhost", mikä tarkoittaa, että olemme yhteydessä paikallisen koneen tietokantaan.
  • Seuraava on "EmployeeDB", joka on meidän määritetyn tietokannan nimi MongoDB tietokanta.
  1. Seuraava askel on todella muodostaa yhteys tietokantaamme. Yhdistämistoiminto ottaa käyttöön URL-osoitteemme, ja sillä on mahdollisuus määrittää takaisinsoittotoiminto. Sitä kutsutaan, kun yhteys tietokantaan avataan. Tämä antaa meille mahdollisuuden tietää, onnistuiko tietokantayhteys vai ei.
  2. Toiminnossa kirjoitamme konsoliin merkkijonon "Yhteys muodostettu" osoittamaan, että yhteys on luotu onnistuneesti.
  3. Lopuksi suljemme yhteyden db.close-käskyllä.

Jos yllä oleva koodi suoritetaan oikein, merkkijono "Connected" kirjoitetaan konsoliin alla olevan kuvan mukaisesti.

Käyttäminen MongoDB ja Node.js

  1. Tietojen kysely a MongoDB tietokanta - Käyttämällä MongoDB ohjaimesta voimme myös hakea tietoja MongoDB tietokanta. Alla oleva osio näyttää, kuinka voimme käyttää ohjainta hakemaan kaikki asiakirjat Työntekijäkokoelmastamme EmployeeDB-tietokannassamme. Tämä on kokoelmamme MongoDB tietokanta, joka sisältää kaikki työntekijään liittyvät asiakirjat. Jokaisella asiakirjalla on objektitunnus, työntekijän nimi ja työntekijän tunnus, jotka määrittävät asiakirjan arvot.

Käyttäminen MongoDB ja Node.js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    var cursor = db.collection('Employee').find();

    cursor.each(function(err, doc) {

        console.log(doc);

    });
});

Koodin selitys:

  1. Ensimmäisessä vaiheessa luomme kohdistimen (Osoitin on osoitin, jota käytetään osoittamaan tietokannasta haettuihin eri tietueisiin. Sen jälkeen kohdistinta käytetään tietokannan eri tietueiden iteroimiseen. Tässä määritellään muuttujan nimi nimeltä kursori, jota käytetään tallentamaan osoitin tietokannasta haettuihin tietueisiin ), joka osoittaa tietueisiin, jotka haetaan MongoDb-kokoelmasta. Meillä on myös mahdollisuus määrittää kokoelma "Työntekijä", josta tietueet haetaan. Find()-funktiota käytetään määrittämään, että haluamme hakea kaikki asiakirjat tiedostosta MongoDB kokoelma.
  2. Iteroimme nyt kursorimme läpi ja jokaiselle kohdistimen dokumentille aiomme suorittaa toiminnon.
  3. Toimintomme on yksinkertaisesti tulostaa jokaisen asiakirjan sisältö konsoliin.

Merkintä: - Tietty tietue on myös mahdollista hakea tietokannasta. Tämä voidaan tehdä määrittämällä hakuehto find()-funktiossa. Oletetaan esimerkiksi, että jos haluat vain hakea tietueen, jonka työntekijän nimi on Guru99, tämä lausunto voidaan kirjoittaa seuraavasti

var cursor=db.collection('Employee').find({EmployeeName: "guru99"})

Jos yllä oleva koodi suoritetaan onnistuneesti, seuraava tulos näytetään konsolissasi.

lähtö:

Käyttäminen MongoDB ja Node.js

Ulostulosta,

  • Näet selvästi, että kaikki kokoelman asiakirjat haetaan. Tämä on mahdollista käyttämällä mongoDB-yhteyden (db) find()-menetelmää ja iteroimalla kaikki asiakirjat kohdistimen avulla.
  1. Asiakirjojen lisääminen kokoelmaan – Asiakirjoja voidaan lisätä kokoelmaan käyttämällä insertOne-menetelmää, jonka tarjoaa MongoDB kirjasto. Alla oleva koodinpätkä näyttää, kuinka voimme lisätä asiakirjan mongoDB-kokoelmaan.

Käyttäminen MongoDB ja Node.js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    db.collection('Employee').insertOne({
        Employeeid: 4,
        EmployeeName: "NewEmployee"
    });
}); 

Koodin selitys:

  1. Tässä käytämme insertOne-menetelmää kohteesta MongoDB kirjasto lisätäksesi asiakirjan Työntekijäkokoelmaan.
  2. Määrittelemme asiakirjan yksityiskohtia siitä, mitä Työntekijäkokoelmaan on lisättävä.

Jos tarkistat nyt sisältösi MongoDB tietokannasta löydät Employee-kokoelmaan lisätyn tietueen Employeeid of 4 ja EmployeeName of "NewEmployee".

Huomautus: Konsoli ei näytä tulostetta, koska tietuetta lisätään tietokantaan, eikä tulosta voi näyttää tässä.

Tarkistaaksesi, että tiedot on lisätty oikein tietokantaan, sinun on suoritettava seuraavat komennot MongoDB

  1. Käytä EmployeeDB:tä
  2. db.Employee.find({Työntekijä :4 })

Ensimmäinen lauseke varmistaa, että olet yhteydessä EmployeeDb-tietokantaan. Toinen lauseke etsii tietuetta, jonka työntekijätunnus on 4.

  1. Kokoelman asiakirjojen päivittäminen – Asiakirjoja voidaan päivittää kokoelmaan käyttämällä päivitysOne-menetelmää, jonka tarjoaa MongoDB kirjasto. Alla oleva koodinpätkä näyttää, kuinka asiakirja päivitetään mongoDB-kokoelmassa.

Käyttäminen MongoDB ja Node.js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    db.collection('Employee').updateOne({
        "EmployeeName": "NewEmployee"
    }, {
        $set: {
            "EmployeeName": "Mohan"
        }
    });
}); 

Koodin selitys:

  1. Tässä käytämme "updateOne" -menetelmää osoitteesta MongoDB kirjasto, jota käytetään mongoDB-kokoelman asiakirjan päivittämiseen.
  2. Määrittelemme hakukriteerejä, minkä asiakirjan päivitys on tarpeen. Meidän tapauksessamme haluamme löytää asiakirjan, jonka EmployeeName on "New Employee".
  3. Haluamme sitten asettaa asiakirjan EmployeeName-arvon arvosta "NewEmployee" arvoon "Mohan".

Jos tarkistat nyt sisältösi MongoDB tietokannasta löydät Employee-kokoelmasta päivitetyn tietueen Employeeid of 4 ja EmployeeName of "Mohan".

Tarkistaaksesi, että tiedot on päivitetty oikein tietokannassa, sinun on suoritettava seuraavat komennot MongoDB

  1. Käytä EmployeeDB:tä
  2. db.Employee.find({Työntekijä :4 })

Ensimmäinen lauseke varmistaa, että olet yhteydessä EmployeeDb-tietokantaan. Toinen lauseke etsii tietuetta, jonka työntekijätunnus on 4.

  1. Asiakirjojen poistaminen kokoelmasta – Asiakirjoja voidaan poistaa kokoelmasta käyttämällä "deleteOne"-menetelmää, jonka tarjoaa MongoDB kirjasto. Alla oleva koodinpätkä näyttää, kuinka asiakirja poistetaan mongoDB-kokoelmasta.

Käyttäminen MongoDB ja Node.js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    db.collection('Employee').deleteOne(

        {
            "EmployeeName": "Mohan"
        }

    );
}); 

Koodin selitys:

  1. Tässä käytämme "deleteOne" -menetelmää tiedostosta MongoDB kirjasto, jota käytetään asiakirjan poistamiseen mongoDB-kokoelmasta.
  2. Määrittelemme poistettavan asiakirjan hakuehtoja. Meidän tapauksessamme haluamme löytää asiakirjan, jolla on "Mohan" EmployeeName, ja poistaa tämän asiakirjan.

Jos tarkistat nyt sisältösi MongoDB tietokannasta löydät tietueen Employee of 4 ja EmployeeName of "Mohan" poistettu Työntekijäkokoelmasta.

Tarkistaaksesi, että tiedot on päivitetty oikein tietokannassa, sinun on suoritettava seuraavat komennot MongoDB

  1. Käytä EmployeeDB:tä
  2. db.Employee.find()

Ensimmäinen lauseke varmistaa, että olet yhteydessä EmployeeDb-tietokantaan. Toinen lauseke etsii ja näyttää kaikki työntekijäkokoelman tietueet. Täältä näet, onko tietue poistettu vai ei.

Kuinka rakentaa node express -sovellus MongoDB tallentaa ja tarjota sisältöä

Rakenna sovellus yhdistelmällä sekä express- että MongoDB on aika yleistä nykyään.

Kun työskentelet JavaKäsikirjoitus web-pohjaiset sovellukset, tässä yleensä käytetään termiä MEAN pino.

  • Termi MEAN pino viittaa kokoelmaan JavaWeb-sovellusten kehittämiseen käytetty komentosarjapohjainen tekniikka.
  • MEAN on lyhenne sanoista MongoDB, ExpressJS, AngularJS, ja Node.js.

Siksi on aina hyvä ymmärtää, miten Node.js ja MongoDB työskennellä yhdessä tuottaakseen sovelluksia, jotka ovat vuorovaikutuksessa taustatietokantojen kanssa.

Katsotaanpa yksinkertaista esimerkkiä siitä, kuinka voimme käyttää "express"- ja "MongoDB”yhdessä. Esimerkkimme käyttää samaa Työntekijäkokoelmaa MongoDB EmployeeDB-tietokanta.

Lisäämme nyt Expressin näyttämään tiedot verkkosivullamme, kun käyttäjä sitä pyytää. Kun sovelluksemme toimii Node.js:ssä, URL-osoite saattaa olla tarpeen selata http://localhost:3000/Employeeid.

Kun sivu käynnistetään, kaikki Työntekijä-kokoelman työntekijätunnukset näytetään. Katsotaanpa koodinpätkä osioissa, joiden avulla voimme saavuttaa tämän.

Vaihe 1) Määrittele kaikki kirjastot, joita on käytettävä sovelluksessamme, joka meidän tapauksessamme on molemmat MongoDB ja pikakirjasto.

Rakenna Node Express -sovellus MongoDB

Koodin selitys:

  1. Määrittelemme pikakirjastoamme, jota käytetään sovelluksessamme.
  2. määrittelemme meidänMongoDB-kirjasto, jota käytetään sovelluksessamme yhteyden muodostamiseen MongoDB tietokanta.
  3. Tässä määritämme tietokannan URL-osoitteen, johon muodostamme yhteyden.
  4. Lopuksi määrittelemme merkkijonon, jota käytetään tallentamaan työntekijätunnuskokoelmamme, joka on näytettävä selaimessa myöhemmin.

Vaihe 2) Tässä vaiheessa hankimme nyt kaikki "Työntekijä"-kokoelmamme tietueet ja työskentelemme niiden kanssa vastaavasti.

Rakenna Node Express -sovellus MongoDB

Koodin selitys:

  1. Luomme reitin sovellukseemme nimeltä "Employeeid". Joten aina kun joku selaa http://localhost:3000/Employeeid sovelluksessamme tälle reitille määritetty koodinpätkä suoritetaan.
  2. Täältä saamme kaikki 'Employee'-kokoelmamme tietueet db.collection('Employee').find()-komennon kautta. Määritämme sitten tämän kokoelman muuttujalle nimeltä cursor. Tämän kursorimuuttujan avulla voimme selata kaikkia kokoelman tietueita.
  3. Käytämme nyt cursor.each()-funktiota navigoidaksemme kaikkien kokoelmamme tietueiden läpi. Aiomme määrittää jokaiselle tietueelle koodinpätkän siitä, mitä tehdä, kun kutakin tietuetta käytetään.
  4. Lopuksi näemme, että jos palautettu tietue ei ole tyhjä, otamme työntekijän komennon "item.Employeeid" kautta. Loput koodista on vain rakentaa oikea HTML-koodi, jonka avulla tulokset näkyvät oikein selaimessa.

Vaihe 3) Tässä vaiheessa aiomme lähettää tulostemme verkkosivulle ja saada sovelluksemme kuuntelemaan tiettyä porttia.

Rakenna Node Express -sovellus MongoDB

Koodin selitys:

  1. Täällä lähetämme koko edellisessä vaiheessa luodun sisällön verkkosivullemme. Res-parametrin avulla voimme lähettää sisältöä verkkosivullemme vastauksena.
  2. Laitamme koko Node.js-sovelluksemme kuuntelemaan porttia 3000.

lähtö:

Rakenna Node Express -sovellus MongoDB

Ulostulosta,

  • Se osoittaa selvästi, että kaikki Työntekijäkokoelman työntekijätunnukset haettiin. Tämä johtuu siitä, että käytämme MongoDB kuljettaja muodostaa yhteyden tietokantaan ja hakea kaikki työntekijätietueet ja käyttää sen jälkeen "express"-näppäintä tietueiden näyttämiseen.

Tässä on koodi viitteellesi

var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';
var str = "";

app.route('/Employeeid').get(function(req, res)

    {
        MongoClient.connect(url, function(err, db) {
            var cursor = db.collection('Employee').find();
            //noinspection JSDeprecatedSymbols
            cursor.each(function(err, item) {

                if (item != null) {
                    str = str + "   Employee id  " + item.Employeeid + "</br>";
                }
            });
            res.send(str);
            db.close();
        });
    });

var server = app.listen(3000, function() {}); 

Huomautus: cursor.each saattaa olla vanhentunut versiosi perusteella MongoDB kuljettaja. Voit kiertää ongelman liittämällä //noinspection JSDeprecatedSymbols ennen cursor.each. Vaihtoehtoisesti voit käyttää forEachia. Alla on mallikoodi käyttämällä forEach-komentoa

var express = require('express');
var app = express();
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';
var str = "";

app.route('/Employeeid').get(function(req, res) {
   MongoClient.connect(url, function(err, db) {
       var collection = db.collection('Employee');
       var cursor = collection.find({});
       str = "";
       cursor.forEach(function(item) {
           if (item != null) {
                    str = str + "    Employee id  " + item.Employeeid + "</br>";
                }
       }, function(err) {
           res.send(err);
           db.close();
          }
       );
   });
});
var server = app.listen(8080, function() {});

Yhteenveto

  • Node.js:ää käytetään yhdessä NoSQL tietokannat rakentaaksesi paljon nykyajan web-sovelluksia. Jotkut yleisimmistä tietokannoista ovat MySQL ja MongoDB.
  • Yksi yleisimmistä moduuleista, joita käytetään työskentelyyn MongoDB tietokannat on moduuli nimeltä 'MongoDB.' Tämä moduuli asennetaan Node-pakettienhallinnan kautta.
  • Kanssa MongoDB moduulissa on mahdollista tiedustella kokoelman tietueita ja suorittaa normaalit päivitys-, poisto- ja lisäystoiminnot.
  • Lopuksi, yksi nykyaikaisista käytännöistä on käyttää express-kehystä yhdessä MongoDB toimittamaan nykyaikaisia ​​sovelluksia. Express-kehys voi hyödyntää käyttäjän palauttamia tietoja MongoDB ohjain ja näyttää tiedot käyttäjälle verkkosivulla vastaavasti.

Päivittäinen Guru99-uutiskirje

Aloita päiväsi uusimmilla ja tärkeimmillä tekoälyuutisilla, jotka toimitetaan juuri nyt.