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

⚡ Älykäs yhteenveto

Node.js MongoDB Integrointi mahdollistaa Node-sovelluksen yhteyden NoSQL-tietokantaan, CRUD-operaatioiden suorittamisen ja reaaliaikaisten tietueiden paljastamisen Express-reittien kautta käyttämällä natiivia mongodb-ajuria yhdessä Mongoose-työkalun kanssa kaavapohjaiseen datamallinnukseen.

  • 🗄️ Tietokannan valinta: Node.js muodostaa yhteyden relaatiomoottoreihin, kuten MySQL ja NoSQL-moottorit, kuten MongoDB erillisten npm-moduulien kautta.
  • 📦 Ohjaimen asetukset: Suorita npm install mongodb lisätäksesi natiivin MongoClient-ajurin Node.js-projektiin.
  • 🔌 Connecting: Avaa tietokantalinkki MongoClient.connectilla ja takaisinkutsun avulla tai modernilla async/await client.connect() -kuviolla.
  • 🔍 Datan lukeminen: Käytä find()-funktiota ja kursoria käydäksesi läpi kaikki tiedostot taulukon sisällä. MongoDB kokoelma.
  • 🇧🇷 Tietojen kirjoittaminen: Käytä insertOne-, updateOne- ja deleteOne-funktioita lisätäksesi, muokataksesi ja poistaaksesi dokumentteja turvallisesti.
  • 🧩 Ohjain vs. ODM: Valitse kevyt mongodb-ajuri raakakyselyille tai Mongoose, kun skeeman validointi on tärkeää.
  • 🌐 Express-integraatio: Yhdistä Express-reitit yhteen MongoDB kyselyitä, jotta selainpyyntö palauttaa reaaliaikaisia ​​tietokantatietueita.

Lähes kaikissa nykyaikaisissa verkkosovelluksissa on jonkinlainen tiedontallennusjärjestelmä taustalla. Esimerkiksi jos otamme verkkokaupan tapauksenping sovelluksessa 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-tietokannat, kuten MongoDB ja relaatiotietokantoja, kuten MySQL on tullut melko suosituiksi tietokannoissa tiedon tallentamiseen. Näiden tietokantojen kyky tallentaa minkä tahansa tyyppistä tietoa ja erityisesti missä tahansa muodossa tekee niistä niin laajalti käytettyjä.

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, vaadittu moduuli on nimeltään ”mysql”. MongoDBkehittäjät voivat asentaa joko virallisen alkuperäisen MongoDB ajuri, jota käytetään tässä artikkelissa kaikissa koodiesimerkeissä, tai kaavapohjainen kirjasto, kuten Mungo kun sovellus tarvitsee lisää rakennetta.

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, aloittaen kahden yleisimmän keskustelutavan nopealla vertailulla MongoDB Node.js-projektista.

MongoDB Natiiviohjain vs. Mongoose Node.js:ssä

Yllä mainitut moduulien nimet voivat olla hämmentäviä, koska Node.js tarjoaa kaksi eri tapaa kommunikoida MongoDB: syntyperäinen MongoDB kuljettaja ja Mungo ODM (Object Data Modeling -kirjasto). Jokainen tässä artikkelissa myöhemmin oleva koodiesimerkki käyttää natiivia ohjainta, joka on asennettu npm asenna mongodb ja pääsee käsiksi MongoClientMongoose yhdistää saman ajurin ja lisää siihen kaavamääritelmät, validoinnin ja uudelleenkäytettävät mallimetodit, mikä sopii suurempiin sovelluksiin, jotka tarvitsevat ennustettavan tietorakenteen useissa kokoelmissa. Erojen ymmärtäminen etukäteen välttää sekaannuksia paketteja asennettaessa tai muita Node.js-koodeja luettaessa. MongoDB esimerkkejä verkossa. Alla oleva taulukko vertailee molempia vaihtoehtoja, jotta kehittäjä voi valita oikean työkalun tiettyyn projektiin.

Aspect Natiivi mongodb-ajuri Mungo
Asennus npm asenna mongodb npm-asennus mungo
Kaavion valvonta Ei mitään, asiakirjat pysyvät joustavina Määritelty Schema-objektin kautta
Oppimiskäyrä Alempi, lähempänä raakaa MongoDB kyselyt Korkeampi, lisää oman API-kerroksen
Parasta Pienet skriptit ja suorituskykyyn vaikuttava koodi Suuremmat sovellukset, joilla on yhdenmukaiset datamallit

Vinkki: Pysy alkuperäisessä ajurissa ydinosaamisen opettelun aikana MongoDB komentoja ja siirry sitten kohtaan Mungo kun sovellus tarvitsee skeeman validoinnin useissa kokoelmissa.

Käyttäminen MongoDB ja Node.js

Terminologian selventämisen jälkeen artikkelin loppuosassa käytetään yksinomaan natiiviajuria, täsmälleen sellaisena kuin se näkyy alla olevissa koodiesimerkeissä. Kuten aiemmassa aiheessa käsiteltiin, MongoDB on yksi suosituimmista tietokannoista, joita käytetään Node.js:n kanssa.

Tässä luvussa näemme, miten luodaan yhteyksiä mm. MongoDB tietokannasta ja siitä, miten suoritetaan normaalit toiminnot, kuten tietojen lukeminen tietokannasta sekä tietueiden lisääminen, poistaminen ja päivittäminen tietokannassa. 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.

Code Selitys:

  1. Ensimmäinen askel on sisällyttää MongoDB ajurimoduuli, joka tehdään require-funktion avulla. Kun tämä moduuli on asennettu, voimme käyttää siinä olevia tarvittavia funktioita yhteyksien luomiseen 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 vaihe on varsinainen yhteyden muodostaminen tietokantaamme. Connect-funktio ottaa vastaan URL ja siinä on mahdollisuus määrittää takaisinkutsufunktio. Se 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.

  1. Tietojen kysely a MongoDB tietokanta - Käyttämällä MongoDB ohjaimesta voimme myös hakea tietoja MongoDB tietokanta. Alla olevassa osiossa näytetään, kuinka voimme käyttää ohjainta kaikkien Employee-kokoelmamme asiakirjojen hakemiseen EmployeeDB-tietokantaamme. Tämä on kokoelma 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.

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

});
});

Code Selitys:

  1. Ensimmäisessä vaiheessa luomme kohdistimen (kohdistin on osoitin, jota käytetään osoittamaan tietokannasta haettuihin eri tietueisiin. Kohdistinta käytetään sitten iteroimaan tietokannan eri tietueiden läpi. Tässä määrittelemme muuttujan nimeltä cursor, jota käytetään tallentamaan osoitin tietokannasta haettuihin tietueisiin), joka osoittaa MongoDb-kokoelmasta haettuihin tietueisiin. Meillä on myös mahdollisuus määrittää kokoelma 'Employee', josta tietueet noudetaan. find()-funktiota käytetään määrittämään, että haluamme noutaa kaikki dokumentit tietokannasta. 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ä: - Tietokannasta on myös mahdollista hakea tietty tietue. Tämä voidaan tehdä määrittämällä hakuehto find()-funktiossa. Oletetaan esimerkiksi, että haluat hakea vain tietueen, jossa työntekijän nimi on Guru99, niin tämä lause 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ö:

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.

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

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

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

Code 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.

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

Code 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.

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

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

db.collection('Employee').deleteOne(

{
"EmployeeName": "Mohan"
}

);
});

Code 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.

Moderni asynkroninen/odotus MongoDB Yhteydet Node.js:ssä

MongoClient.connect(url, takaisinkutsu) tässä artikkelissa käytetty kaava vastaa MongoDB Node.js-ajuriversio, joka oli ajan tasalla yllä olevien esimerkkien kirjoitushetkellä. Uudemmat ajuriversiot tukevat edelleen tätä takaisinkutsutyyliä, mutta useimmat uudet projektit suosivat nyt promiseja ja async/await-tyyliä, koska tuloksena oleva koodi lukee ylhäältä alas ilman sisäkkäisiä takaisinkutsuja. Alla olevat vaiheet kirjoittavat saman työntekijäyhteyden uudelleen käyttämällä modernia syntaksia.

  1. Luo yksi MongoClient-instanssi minkä tahansa funktion ulkopuolelle ja välitä yhteysmerkkijono kerran, esimerkiksi const asiakas = new MongoClient(url);
  2. Puhelu odota asiakasta.connect() asynkronisen funktion sisällä yhteyden avaamiseksi takaisinkutsun välittämisen sijaan.
  3. Hanki tietokanta, jossa on asiakas.db('Työntekijätietokanta') sen sijaan, että luotettaisiin takaisinkutsun sisällä palautettuun objektiin.
  4. Suorita kyselyitä odottaa, esimerkiksi odota tietokanta.kokoelma('Työntekijä').find().toArray(), joka palauttaa taulukon suoraan sen sijaan, että vaatisi kohdistimen takaisinkutsua.
  5. Sulje yhteys sovellukseen odota asiakasta.close() finally-lohkon sisällä, jotta se suoritetaan aina, vaikka kysely heittäisi virheen.
const { MongoClient } = require('mongodb');

const url = 'mongodb://localhost:27017';
const client = new MongoClient(url);

async function run() {
try {
await client.connect();
const db = client.db('EmployeeDB');
const employees = await db.collection('Employee').find().toArray();
console.log(employees);
} finally {
await client.close();
}
}

run().catch(console.error);

Molemmat tyylit yhdistyvät samaan EmployeeDB-tietokantaan ja samaan Employee-kokoelmaan, joten olemassa olevaa callback-pohjaista koodia ei tarvitse kirjoittaa välittömästi uudelleen. Nämä kaksi lähestymistapaa voivat esiintyä rinnakkain projektin asteittaisen migraation aikana, ja valinta riippuu enimmäkseen siitä, kumpi... MongoDB Node.js-ajurin versio ja package.json-tiedosto on jo pinattu.

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

Kun molemmat yhteystyypit on käsitelty, seuraavassa osiossa sovelletaan klassista takaisinkutsumallia kokonaisen Express-sovelluksen sisällä, koska se on alla olevan alkuperäisen esimerkkipalvelimen käyttämä syntaksi. Sovelluksen rakentaminen sekä Expressin että MongoDB on aika yleistä nykyään.

Kun työskentelet JavaKäsikirjoitus Verkkopohjaisissa sovelluksissa kuulee yleensä termistä MEAN-pino.

  • Termi MEAN pino viittaa kokoelmaan JavaWeb-sovellusten kehittämiseen käytetty komentosarjapohjainen tekniikka.
  • MEAN on lyhenne sanoista MongoDB, ExpressJS, angularjsja 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.

Sisällytämme nyt Expressin näyttämään tiedot verkkosivullamme käyttäjän sitä pyytäessä. Kun sovelluksemme toimii Node.js:ssä, saatat joutua selaamaan kohtaan URL 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.

Code 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ä me määrittelemme URL tietokannastamme, johon yhteyden muodostaa.
  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.

Code 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.

Code 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ö:

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() {});

UKK

Korvaa paikallinen yhteysmerkkijono klusterin yhteysvalintaikkunan Atlas SRV -merkkijonolla, esimerkiksi mongodb+srv://käyttäjä:salasanan@klusteri.mongodb.net/EmployeeDB, ja välitä se sitten palvelimelle. MongoDB Kartasto juuri niin kuin MongoClient odottaa.

Pidä merkkijono poissa lähdekoodista lataamalla se ympäristömuuttujasta paketilla, kuten dotenv, lisää sitten .env-tiedosto .gitignore-kansioon, jotta tunnistetiedot eivät koskaan pääse versionhallintaan.

Ei. Ilmainen MongoDB Atlas-klusteri toimii jokaisen esimerkin kanssa; vain yhteysmerkkijono muuttuu, joten paikallinen MongoDB Yhteisöpalvelimen asennus on valinnainen eikä pakollinen.

Kyllä, työkaluja, kuten GitHub Copilot voi luonnostella find-, insertOne- tai updateOne-kutsuja nopeasti, mutta kehittäjän tulisi silti tarkistaa kenttien nimet, ajuriversio ja yhteyden käsittely ennen luodun koodin suorittamista.

Tarkan virheilmoituksen ja yhteysmerkkijonon muodon liittäminen tekoälyavustajaan paljastaa usein yleisiä syitä, kuten puuttuvan odotusviestin, väärän porttinumeron tai IP-osoitteen, jota ei ole sallittu Atlasin verkkoyhteyksissä.

Tiivistä tämä viesti seuraavasti: