MongoDB pakub oma kasutajatele võimalust luua kaasaegseid andmebaase, millele on lihtne juurde pääseda ja mida saab nendega manipuleerida.

MongoDB on NoSQL-i avatud lähtekoodiga andmebaas, mis on saadaval kasutamiseks kõigis opsüsteemides.

Kui õppisite andmebaasi kujundamist koolis, on tõenäoline, et te ei õppinud MongoDB-d kasutama ega omandanud NoSQL-i andmebaasidega palju kogemusi. See pole üllatav - kuni 1998. aastani polnud paljud inimesed isegi NoSQL-ist kuulnud ja alles 2009. aastal hakkasid NoSQL-i andmebaasid tõmbama.

Mis on NoSQL?

Lühend SQL tähistab "struktureeritud päringukeelt". SQL-i kasutatakse matemaatiliste toimingute tegemiseks andmetega, mis on andmebaasides, mis on jäigalt ridade ja veergude (tabelite) järgi struktureeritud.

Lühend NoSQL tähistab sõltuvalt sellest, kellelt te küsite, mitte ainult SQL-i või mitte-SQL-i. Kuid üks asjaolu, et kõik nõustun, et NoSQL-i kasutatakse toimingute tegemiseks andmetega, mida hoitakse ridade ja veerud.

Olemas on mõned NoSQL-i andmebaasid, kuid ülejäänutest kõrgem nimi on MongoDB. Tegelikult arvavad mõned inimesed, et MongoDB on ainus omataoline andmebaas.

instagram viewer

Mis on MongoDB?

NoSQL toetab nelja erinevat tüüpi andmebaase: dokument, võtmeväärtusega kauplused, veergudele orienteeritud ja graafikud. MongoDB on dokumentide andmebaas, kuna see salvestab andmeid JSON-laadsesse dokumenti ja nagu kõik andmebaasid, toetab see kõiki olulisi CRUD-toiminguid.

Seotud: Kuidas saab MongoDB andmebaas teie andmeid paremini korraldada

Mis on CRUD-toimingud?

Lühend CRUD tähistab "loomine, lugemine, värskendamine ja kustutamine". CRUD tähistab kõigi andmebaaside nelja peamist funktsionaalset nõuet. Kui kasutate andmebaasi, mis ei võimalda teil kirjeid luua, lugeda, värskendada ega kustutada, pole see andmebaas.

Laadige alla MongoDB

Enne CRUD-toimingute tegemist MongoDB-s peate oma MongoDB-i alla laadima ja installima seade (või kasutage saadaolevat pilveversiooni), käivitage MongoDB server, looge sellega ühendus ja looge lõpuks uus andmebaasi.

MongoDB serveri saab ametnikult alla laadida MongoDB veebisait.

MongoDB serveri käivitamine

Käivitage MongoDB Server IDE konsoolist.


/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Kasutajad / Administrator / mongodb-data

Ülaltoodud kood käivitab MongoDB serveri. Esimene pool annab otsese tee teie seadmesse salvestatud käivitatavale failile MongoDB (mongod.exe). Teie seadme teenimi peaks olema erinev, kuid eesmärk on jõuda prügikasti kausta failini mongod.exe.

Koodi teine ​​pool (mida eraldab tühikuklahv) on teine ​​teenimi. See tee viib "mongodb-data" juurde, mis on fail, mille peate ise looma. See fail sisaldab kõiki meie andmebaasis loodud andmeid.

Meie faili nimi on “mongodb-data”, kuid nimi võib olla ükskõik milline, mis teie arvates sobib.

Ülaltoodud koodi käivitamine peaks tootma mitu koodirida, kuid kaks rida, millele peate tähelepanu pöörama, on näha allpool:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "VÕRK", "id": 23015, "ctx": "kuulaja", "msg": "Kuulamine peal", "attr": {"aadress": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETWORK", "id": 23016, "ctx": "kuulaja", "msg": "Ühenduste ootel", "attr": {"port": 27017, "ssl": "välja"}}

Need kaks rida sisaldavad vastavalt MongoDB serveri localhostit ja vaikeporti. Neid kahte numbrit on vaja hiljem ühenduse loomiseks MongoDB serveriga, et saaksime oma CRUD toiminguid teha.

CRUD-toimingute tegemine

Nüüd, kui meie MongoDB server on töökorras, saame sellega ühenduse luua (vastava draiveri abil) ja alustada CRUD-toiminguid. Selle artikli jaoks loome lihtsa kasutajate andmebaasi, mis salvestab meie kasutajate nimed ja vanused.

Kasutaja loomine

Kasutajate sisestamiseks MongoDB andmebaasi on kaks peamist viisi. Mõlemad meetodid on üsna sarnased, kuid meetod, mille peaksite valima, sõltub kasutajate arvust, kelle soovite konkreetses eksemplaris luua. Kui teie eesmärk on luua üks kasutaja, peaksite kasutama insertOne meetod.

Kui aga eesmärk on luua korraga rohkem kui üks kasutaja, siis sisestaPalju meetod on parem variant.

MongoDB insertOne meetodi näide


// importige mongodb ja kasutage funktsiooni MongoClient saamiseks destruktureerimist
const {MongoClient} = nõudma ("mongodb");
// ühenduse URL ja andmebaas, millega kavatseme ühenduse luua
const ühendusURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'kasutajahaldur';
// kasutades MongoDB serveriga ühenduse loomiseks funktsiooni MongoClient
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (tõrge, klient) => {
// kontrollige, kas ühendus on loodud
kui (viga) {
return console.log ('Andmebaasiga ei õnnestunud ühendust luua ");
}
// juurdepääs kasutajahalduri andmebaasile
const db = klient.db (andmebaasiNimi);
// sisestage andmebaasi üks kasutaja
db.collection ('kasutajad'). insertOne ({
nimi: "John Doe",
vanus: '28'
}, (viga, tulemus) => {
kui (viga) {
return console.log ('Kasutajat ei õnnestunud luua ");
}
konsool.log (tulemus.ops);
})
})

Enne kasutajate loomist tuleb MongoDB serveriga luua ühendus, kasutades teie kasutatava keele MongoDB draiverit. Kõige populaarsem draiver ja see, mida selles õpetuses kasutame, on NodeJS-i draiver.

Ülaltoodud koodi esimese reaga saame funktsiooni MongoClient meie serverist hankimiseks kasutada restruktureerimismeetodit.

MongoClient aktsepteerib kolme argumenti:

  • URL (kasutatakse ühenduse loomiseks MongoDB serveriga)
  • Valikud / sätted (mis sel juhul määrab muutuja „useUnifiedTopology” väärtuseks Tõene, et hõlbustada uue Server Discoveri ja jälgimise mootori kasutamist)
  • Tagasihelistamisfunktsioon, mis võtab kaks argumenti (tõrge ja klient)

MongoClienti meetodi tagasihelistamisfunktsiooni raames saame lõpuks kasutaja oma andmebaasi sisestada. Kuid enne selle punkti jõudmist peame saama juurdepääsu kasutajahalduri andmebaasile.

MongoDB kasutamise üks ilu on see, et pole vaja selgesõnaliselt andmebaasi luua. Kui viide konkreetsele andmebaasile on loodud argumendi „klient” abil (nagu nähtub ülaltoodud koodist), võite sellega vabalt alustada.

Viide loodud kasutajahalduri andmebaasile on salvestatud muutujaks db, mida kasutame oma esimese kasutaja andmebaasi sisestamiseks.

Kasutades viidet “db”, saame luua uue kogu, millele omistame nime “kasutaja”.

The insertOne meetod võtab kaks nõutavat argumenti; dokument (kasutaja) ja tagasihelistamisfunktsioon. Koos insertOne meetodi abil saame sisestada kasutaja nimega Peter Davis vanusega 32, meie andmebaasi.

Tagasihelistamisfunktsioonil on kaks argumenti (viga ja tulemus). Tulemuse funktsioon sisaldab ops-meetodit, mida kasutame äsja loodud kasutaja nägemiseks oma andmebaasis. See loob pärast ülaltoodud koodi käivitamist konsoolis järgmise väljundi:


[{nimi: 'Peter Davis', vanus: '32', _id: 60772f869475e84740003c45}]

Kuigi andsime kasutaja loomisel ainult kaks välja, näete ülaltoodud väljundist, et kolmas väli on loodud. See on MongoDB puhul veel üks lahe asi; see loob automaatselt iga loodud dokumendi jaoks kordumatu ID.

Seotud: Kuidas on andmete modelleerimine MongoDB-s erinev?

Kasutaja lugemine MongoDB-s

Kaks peamist meetodit, mida MongoDB-st dokumentide lugemiseks kasutatakse, on: leidma ja findOne. The leidma meetodit kasutatakse mitme dokumendi korraga lugemiseks ja findOne meetodit kasutatakse ühe dokumendi korraga lugemiseks.

MongoDB findOne meetodi näide


// impordi mongodb ja kasuta meetodit MongoClient saamiseks destruktureerimist
const {MongoClient} = nõudma ("mongodb");
// ühenduse URL ja andmebaas, millega kavatseme ühenduse luua
const ühendusURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'kasutajahaldur';
// kasutades MongoDB serveriga ühenduse loomiseks funktsiooni MongoClient
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (tõrge, klient) => {
// kontrollige, kas ühendus on loodud
kui (viga) {
return console.log ('Andmebaasiga ei õnnestunud ühendust luua ");
}
// luua kasutajahalduri andmebaas
const db = klient.db (andmebaasiNimi);
// ühe kasutaja leidmine andmebaasi
db.collection ('kasutajad'). findOne ({nimi: 'Peter Davis'}, (viga, kasutaja) => {
kui (viga) {
return console.log ('Kasutajat ei õnnestunud leida ");
}
console.log (kasutaja);
})
});

Hea on meeles pidada, et enne CRUD-toimingute tegemist (nagu on näha meie ülaltoodud näites) peate alati ühenduse looma MongoDB-serveri ja vastava andmebaasiga.

The findOne meetod võtab kaks nõutavat argumenti. Esimene argument sisaldab otsingukriteeriume; saate dokumenti otsida mis tahes sellele ainuomase muutuja nime abil. Ülaltoodud näites kasutame nime "Peter Davis".

Avalduse teine ​​argument findOne meetod on tagasihelistamisfunktsioon, mis võtab kaks argumenti; esimene on viga, kui dokumenti ei õnnestu leida, ja teine ​​on dokument (millele panime nimeks "kasutaja").

Ülaltoodud koodi käivitamine annab konsoolis järgmise tulemuse:


{_id: 60772f869475e84740003c45, nimi: 'Peter Davis', vanus: '32'}

Kasutaja värskendamine MongoDB-s

MongoDB-s on dokumentide värskendamiseks kaks meetodit. Ehkki mõlema struktuur on väga sarnane, updateOne kasutatakse ühe dokumendi korraga värskendamiseks ja updateMany kasutatakse mitme dokumendi korraga värskendamiseks.

MongoDB updateOne meetodi näide


// Kasutaja vanuse värskendamine
db.collection ('kasutajad'). updateOne ({nimi: "Peter Davis"},
{
$ set: {
vanus: '24'
}
})

Ülaltoodud koodiga saame uuendada Peter Davise vanust 24-aastaseks.

Kasutaja kustutamine MongoDB-s

Dokumendi MongoDB-st kustutamiseks on kaks meetodit. The deleteOne meetodit kasutatakse ühe dokumendi kustutamiseks ja kustutaPaljud meetodit kasutatakse mitme dokumendi kustutamiseks.

MongoDB deleteOne meetodi näide


// dokumendi kustutamine
db.collection ('kasutajad'). deleteOne ({nimi: 'Peter Davis'})

Kustutustoiming on lihtsaim CRUD-toiming, mida saab MongoDB-s teha. Nagu näete ülaltoodud näites (ilma vajaliku ühenduskoodi ja tagasihelistamisfunktsioonita), võtab see ainult ühe koodirea.

Nüüd saate MongoDB-s teha CRUD-toiminguid

Nüüd on teil põhiteadmised MongoDB-st ja teate, mida NoSQL tähendab. Samuti teate, mida tähendab lühend CRUD ja miks on need toimingud iga andmebaasi olulised omadused.

See artikkel pakub teile kõiki tööriistu, mis on vajalikud nelja CRUD-põhitoimingu sooritamiseks MongoDB-s. Nüüd, kui olete varustatud CRUD-i operatsioonide oskusteabega, saate hakata õppima, kuidas oma andmeid MongoDB abil kõige paremini modelleerida.

Pildikrediit: Alexander Sosluev /WiKiMedia Commons

E-post
Kuidas on andmete modelleerimine MongoDB-s erinev?

Arvestades teistsugust lähenemist andmebaasidele? Siit saate teada, kuidas andmete modelleerimine MongoDB-s töötab.

Loe edasi

Seotud teemad
  • Programmeerimine
  • Kodeerimise õpetused
  • andmebaasi
Autori kohta
Kadeisha Kean (9 artiklit on avaldatud)

Kadeisha Kean on täisvarustuses tarkvaraarendaja ja tehnikakirjutaja. Tal on selge võime lihtsustada mõnda kõige keerukamat tehnoloogilist kontseptsiooni; materjali tootmine, mis on hõlpsasti mõistetav igale tehnoloogia algajale. Ta on kirglik kirjutamise, huvitava tarkvara väljatöötamise ja maailmas ringi liikumise üle (dokumentaalfilmide kaudu).

Veel Kadeisha Keanilt

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.