MongoDB tarjoaa käyttäjilleen mahdollisuuden luoda moderneja tietokantoja, joihin pääsee helposti käsiksi ja joita voidaan manipuloida.
MongoDB on NoSQL-avoimen lähdekoodin tietokanta, joka on käytettävissä kaikissa käyttöjärjestelmissä.
Jos opit tietokannan suunnittelun koulussa, on todennäköistä, että et oppinut käyttämään MongoDB: tä tai saamaan paljon kokemusta NoSQL-tietokannoista. Tämä ei ole mikään yllätys - vuoteen 1998 asti monet ihmiset eivät olleet edes kuulleet NoSQL: stä, ja vasta vuonna 2009 NoSQL-tietokannat alkoivat saada pitoa.
Mikä on NoSQL?
Lyhenne SQL tarkoittaa "jäsennelty kyselykieli". SQL: ää käytetään matemaattisten operaatioiden suorittamiseen tietokannoissa oleville tiedoille, jotka on jäsennelty tiukasti riveillä ja sarakkeilla (taulukot).
Lyhenne NoSQL tarkoittaa sitä, keneltä kysyt, "ei vain SQL" tai "muu kuin SQL". Kuitenkin yksi tosiasia, että kaikki voin sopia siitä, että NoSQL: ää käytetään toimintojen suorittamiseen tiedoille, joita säilytetään tietokannoissa, joita ei ole jäsennelty riveillä ja sarakkeita.
NoSQL-tietokantoja on olemassa muutama, mutta muiden yläpuolella oleva nimi on MongoDB. Itse asiassa jotkut ihmiset ajattelevat, että MongoDB on ainoa lajissaan oleva tietokanta.
Mikä on MongoDB?
NoSQL tukee neljää erityyppistä tietokantaa: asiakirja, avainarvovarastot, sarakekohtaiset ja kaaviot. MongoDB on dokumenttitietokanta, koska se tallentaa tietoja JSON-tyyppiseen asiakirjaan, ja kuten kaikki tietokannat, se tukee kaikkia välttämättömiä CRUD-operaatioita.
Liittyvät: Kuinka MongoDB-tietokanta voi paremmin järjestää tietojasi
Mitä ovat CRUD-operaatiot?
Lyhenne CRUD tarkoittaa "luo, lue, päivitä ja poista". CRUD edustaa kaikkien tietokantojen neljää toiminnallista perusvaatimusta. Jos käytät tietokantaa, joka ei salli sinun luoda, lukea, päivittää tai poistaa tietueita, se ei ole tietokanta.
Lataa MongoDB
Ennen kuin voit suorittaa CRUD-toimintoja MongoDB: ssä, sinun on ladattava ja asennettava MongoDB laitteellesi laitteella (tai käytä käytettävissä olevaa pilviversiota), suorita MongoDB-palvelin, muodosta yhteys siihen ja luo lopuksi uusi tietokanta.
MongoDB-palvelimen voi ladata viralliselta MongoDB: n verkkosivusto.
Suoritetaan MongoDB-palvelin
Suorita MongoDB Server IDE: n konsolista.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Käyttäjät / Administrator / mongodb-data
Yllä oleva koodi suorittaa MongoDB-palvelimen. Alkupuoliskolla on suora polku laitteellesi tallennettuun MongoDB-suoritettavaan tiedostoon (mongod.exe). Laitteesi polunimen tulisi olla erilainen, mutta tavoitteena on tavoittaa mongod.exe-tiedosto roskakorikansiosta.
Koodin toinen puoli (joka on erotettu välilyönnillä) on toinen polun nimi. Tämä polku johtaa "mongodb-data", joka on tiedosto, joka sinun on luotava itse. Tämä tiedosto sisältää kaikki tietokantaamme luodut tiedot.
Tiedostomme nimi on “mongodb-data”, mutta nimi voi olla mikä tahansa mielestäsi sopivaksi.
Yllä olevan koodin suorittamisen pitäisi tuottaa useita koodiriviä, mutta kaksi riviä, joihin sinun on kiinnitettävä erityistä huomiota, näkyvät alla:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "kuuntelija", "msg": "Kuunteleminen", "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "NETWORK", "id": 23016, "ctx": "kuuntelija", "msg": "Odotetaan yhteyksiä", "attr": {"portti": 27017, "ssl": "pois"}}
Nämä kaksi riviä sisältävät vastaavasti MongoDB-palvelimen paikallisen isännän ja oletusportin. Näitä kahta numeroa tarvitaan yhteyden luomiseen myöhemmin MongoDB-palvelimeen, jotta voimme suorittaa CRUD-operaatiomme.
CRUD-operaatioiden suorittaminen
Nyt kun MongoDB-palvelimemme on käynnissä, voimme muodostaa yhteyden siihen (käyttäen asianmukaista ohjainta) ja aloittaa CRUD-operaatioiden suorittamisen. Tätä artikkelia varten luomme yksinkertaisen käyttäjätietokannan, joka tallentaa käyttäjien nimet ja iät.
Käyttäjän luominen
Käyttäjiä voidaan lisätä MongoDB-tietokantaan kahdella tavalla. Molemmat menetelmät ovat melko samanlaisia, mutta valitsemasi menetelmä riippuu käyttäjien lukumäärästä, jonka haluat luoda tietyssä instanssissa. Jos tavoitteena on luoda yksi käyttäjä, käytä insertOne menetelmä.
Jos tavoitteena on kuitenkin luoda useampi kuin yksi käyttäjä kerrallaan, niin insertMany menetelmä on parempi vaihtoehto.
MongoDB insertOne -menetelmäesimerkki
// tuo mongodb ja käytä destrukturointia saadaksesi MongoClient-funktion
const {MongoClient} = vaatia ("mongodb");
// yhteyden URL-osoite ja tietokanta, johon aiomme muodostaa yhteyden
const yhteysURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'käyttäjä-hallinta';
// käyttämällä MongoClient-laitteen connect-toimintoa muodostaaksesi yhteyden MongoDB-palvelimeen
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (virhe, asiakas) => {
// tarkista onko yhteys muodostettu
jos (virhe) {
return console.log ('Yhteyden muodostaminen tietokantaan epäonnistui');
}
// käyttää käyttäjä-hallinta-tietokantaa
const db = asiakas.db (tietokannan nimi);
// lisää yksi käyttäjä tietokantaan
db.collection ('käyttäjät'). insertOne ({
nimi: 'John Doe',
ikä: '28'
}, (virhe, tulos) => {
jos (virhe) {
return console.log ('Käyttäjää ei voitu luoda');
}
console.log (result.ops);
})
})
Ennen kuin voimme luoda käyttäjiä, on muodostettava yhteys MongoDB-palvelimeen käyttämällä käyttämäsi kielen MongoDB-ohjainta. Suosituin ohjain, jota käytämme tässä opetusohjelmassa, on NodeJS-ohjain.
Yllä olevan koodin ensimmäisen rivin avulla voimme käyttää tuhoamismenetelmää MongoClient-funktion hakemiseksi palvelimeltamme.
MongoClient hyväksyy kolme argumenttia:
- URL (käytetään yhteyden muodostamiseen MongoDB-palvelimeen)
- Asetukset / Asetukset (joka tässä tapauksessa asettaa "useUnifiedTopology" -muuttujan tosi-arvoksi uuden palvelimen etsintä- ja seurantamoottorin käytön helpottamiseksi)
- Takaisinsoittofunktio, joka vie kaksi argumenttia (virhe ja asiakas)
MongoClient-menetelmän takaisinkutsu-toiminnossa voimme vihdoin lisätä käyttäjän tietokantaan. Mutta ennen kuin pääsemme siihen pisteeseen, meidän on päästävä käyttöoikeuksiin käyttäjä-hallinta-tietokantaan.
Yksi MongoDB: n käytön kauneuksista on, että tietokantaa ei tarvitse luoda nimenomaisesti. Kun viittaus tiettyyn tietokantaan on luotu käyttämällä asiakas-argumenttia (kuten yllä olevassa koodissa näkyy), voit aloittaa sen manipuloinnin.
Viittaus luomaamme käyttäjähallintatietokantaan tallennetaan muuttujaan db, jota käytämme ensimmäisen käyttäjän lisäämiseen tietokantaan.
"Db" -viitteen avulla voimme luoda uuden kokoelman, jolle annamme nimen "käyttäjä".
insertOne menetelmä vie kaksi vaadittua argumenttia; asiakirja (käyttäjä) ja soittopyyntö. Kanssa insertOne -menetelmällä voimme lisätä käyttäjän nimellä Peter Davis iän kanssa 32, tietokantaamme.
Takaisintoiminnossa on kaksi argumenttia (virhe ja tulos). Tulosfunktio sisältää ops-menetelmän, jota käytämme nähdäksesi juuri luomamme käyttäjän tietokannassamme. Tämä tuottaa seuraavan lähdön konsoliin, kun yllä oleva koodi on suoritettu:
[{nimi: 'Peter Davis', ikä: '32', _id: 60772f869475e84740003c45}]
Vaikka annoimme vain kaksi kenttää luodessamme käyttäjää, yllä olevasta lähdöstä näet, että kolmas kenttä luotiin. Tämä on toinen hieno asia MongoDB: ssä; se luo automaattisesti yksilöllisen tunnuksen jokaiselle luomalleen asiakirjalle.
Liittyvät: Kuinka datamallinnus eroaa MongoDB: ssä?
Käyttäjän lukeminen MongoDB: ssä
Kaksi päämenetelmää, joita käytetään asiakirjojen lukemiseen MongoDB: ltä, ovat: löytö ja löydä yksi. löytö - menetelmää käytetään lukemaan useita asiakirjoja kerralla ja löydä yksi menetelmää käytetään yksittäisen asiakirjan lukemiseen kerrallaan.
Esimerkki MongoDB findOne -menetelmästä
// tuo mongodb ja käytä destrukturointia saadaksesi MongoClient-menetelmän
const {MongoClient} = vaatia ("mongodb");
// yhteyden URL-osoite ja tietokanta, johon aiomme muodostaa yhteyden
const yhteysURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'käyttäjä-hallinta';
// käyttämällä MongoClient-laitteen connect-toimintoa muodostaaksesi yhteyden MongoDB-palvelimeen
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (virhe, asiakas) => {
// tarkista onko yhteys muodostettu
jos (virhe) {
return console.log ('Yhteyden muodostaminen tietokantaan epäonnistui');
}
// luo käyttäjä-hallinta-tietokanta
const db = asiakas.db (tietokannan nimi);
// yhden käyttäjän löytäminen tietokantaan
db.collection ('käyttäjät'). findOne ({nimi: 'Peter Davis'}, (virhe, käyttäjä) => {
jos (virhe) {
return console.log ('Käyttäjää ei löydy');
}
console.log (käyttäjä);
})
});
On hyvä muistaa, että joudut aina muodostamaan yhteyden MongoDB-palvelimeen ja asianmukaiseen tietokantaan, ennen kuin voit suorittaa CRUD-toimintoja (kuten yllä olevassa esimerkissämme nähdään).
löydä yksi menetelmä vaatii kaksi vaadittua argumenttia. Ensimmäinen argumentti sisältää hakukriteerit; voit etsiä asiakirjaa millä tahansa sille yksilöllisellä muuttujan nimellä. Yllä olevassa esimerkissämme käytämme nimeä "Peter Davis".
-. - Toinen väite löydä yksi menetelmä on soittopyyntö, joka ottaa kaksi argumenttia; ensimmäinen on virhe, jos asiakirjaa ei löydy, ja toinen on asiakirja (jonka me nimitimme "käyttäjäksi").
Yllä olevan koodin suorittaminen tuottaa seuraavan tuloksen konsolissa:
{_id: 60772f869475e84740003c45, nimi: 'Peter Davis', ikä: '32'}
Käyttäjän päivittäminen MongoDB: ssä
MongoDB: ssä on kaksi tapaa päivittää asiakirjoja. Vaikka molempien rakenne on hyvin samanlainen, updateOne käytetään päivittämään yksi asiakirja kerrallaan ja updateMany käytetään päivittämään useita asiakirjoja kerrallaan.
MongoDB updateOne -menetelmäesimerkki
// Päivitä käyttäjän ikä
db.collection ('käyttäjät'). updateOne ({nimi: "Peter Davis"},
{
$ set: {
ikä: '24'
}
})
Yllä olevan koodin avulla voimme päivittää Peter Davisin iän 24 vuoteen.
Käyttäjän poistaminen MongoDB: stä
Asiakirjan poistamiseen MongoDB: stä on kaksi tapaa. deleteOne -menetelmää käytetään yksittäisen asiakirjan poistamiseen, ja deleteMany menetelmää käytetään poistamaan useita asiakirjoja.
MongoDB deleteOne -menetelmäesimerkki
// poista asiakirja
db.collection ('käyttäjät'). deleteOne ({nimi: 'Peter Davis'})
Poistotoiminto on yksinkertaisin CRUD-operaatio, joka voidaan suorittaa MongoDB: ssä. Kuten yllä olevasta esimerkistä näet (ilman tarvittavaa yhteyskoodia ja takaisinsoittotoimintoa), se vie vain yhden koodirivin.
Voit nyt suorittaa CRUD-operaatioita MongoDB: ssä
Nyt sinulla on perustiedot MongoDB: stä ja tiedät mitä NoSQL tarkoittaa. Tiedät myös, mitä lyhenne CRUD tarkoittaa ja miksi nämä toiminnot ovat jokaisen tietokannan välttämättömiä ominaisuuksia.
Tässä artikkelissa on kaikki tarvittavat työkalut neljän CRUD-perustoiminnon suorittamiseen MongoDB: ssä. Nyt kun sinulla on CRUD-käyttöosaaminen, voit aloittaa oppimisen, miten parhaiten mallinnat tietosi MongoDB: n avulla.
Kuvahaku: Alexander Sosluev /WiKiMedia Commons
Harkitaanko erilaista lähestymistapaa tietokantoihin? Näin mallinnus toimii MongoDB: ssä.
Lue seuraava
- Ohjelmointi
- Koodausoppaat
- tietokanta
Kadeisha Kean on Full-Stack-ohjelmistokehittäjä ja tekninen / teknologinen kirjoittaja. Hänellä on selkeä kyky yksinkertaistaa joitain monimutkaisimpia teknisiä käsitteitä; tuottaa materiaalia, joka on helposti ymmärrettävissä kaikille tekniikan aloittelijoille. Hän on intohimoisesti kirjoittaminen, mielenkiintoisten ohjelmistojen kehittäminen ja matkustaminen ympäri maailmaa (dokumenttielokuvien kautta).
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässämme sähköpostissa.