„MongoDB“ suteikia savo vartotojams galimybę kurti modernias duomenų bazes, prie kurių būtų lengva naudotis ir kuriomis būtų galima manipuliuoti.
„MongoDB“ yra „NoSQL“ atvirojo kodo duomenų bazė, kurią galima naudoti visose operacinėse sistemose.
Jei mokėtės duomenų bazės kūrimo mokykloje, yra tikimybė, kad neišmokote naudotis „MongoDB“ ir neįgijote daug patirties su „NoSQL“ duomenų bazėmis. Tai nenuostabu - iki 1998 m. Daugelis žmonių net nebuvo girdėję apie NoSQL, o tik 2009 m. NoSQL duomenų bazės pradėjo traukti.
Kas yra NoSQL?
Akronimas SQL reiškia „struktūrinė užklausos kalba“. SQL naudojama matematinėms operacijoms atlikti su duomenimis, laikomais duomenų bazėse, kurios yra griežtai susistemintos eilutėmis ir stulpeliais (lentelėmis).
Akronimas „NoSQL“, atsižvelgiant į tai, ko klausiate, reiškia „ne tik SQL“ ar „ne SQL“. Tačiau vienas faktas, kad visi gali sutikti, kad NoSQL naudojamas operacijoms atlikti su duomenimis, kurie laikomi duomenų bazėse, nesukonstruotose eilutėmis ir stulpeliai.
Egzistuoja kelios „NoSQL“ duomenų bazės, tačiau virš kitų esantis vardas yra „MongoDB“. Tiesą sakant, kai kurie žmonės mano, kad „MongoDB“ yra vienintelė tokio tipo duomenų bazė.
Kas yra „MongoDB“?
„NoSQL“ palaiko keturis skirtingus duomenų bazių tipus: dokumentų, raktų vertės saugyklas, orientuotas į stulpelius ir grafikus. „MongoDB“ yra dokumentų duomenų bazė, nes ji kaupia duomenis į JSON panašiame dokumente ir, kaip ir visos duomenų bazės, palaiko visas esmines CRUD operacijas.
Susijęs: Kaip „MongoDB“ duomenų bazė gali geriau tvarkyti jūsų duomenis
Kas yra CRUD operacijos?
Santrumpa CRUD reiškia „kurti, skaityti, atnaujinti ir ištrinti“. CRUD reiškia keturis pagrindinius visų duomenų bazių funkcinius reikalavimus. Jei naudojate duomenų bazę, kuri neleidžia kurti, skaityti, atnaujinti ar ištrinti įrašų, tai nėra duomenų bazė.
Atsisiųskite „MongoDB“
Prieš atlikdami bet kokias CRUD operacijas „MongoDB“, turite atsisiųsti ir įdiegti „MongoDB“ įrenginį (arba naudokite galimą debesų versiją), paleiskite „MongoDB“ serverį, prisijunkite prie jo ir galiausiai sukurkite naują duomenų bazė.
„MongoDB“ serverį galima atsisiųsti iš pareigūno „MongoDB“ svetainė.
„MongoDB Server“ vykdymas
Vykdykite „MongoDB Server“ iš savo IDE konsolės.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Vartotojai / Administratorius / mongodb-data
Aukščiau pateiktu kodu vykdomas „MongoDB“ serveris. Pirmoje pusėje pateikiamas tiesioginis kelias į jūsų įrenginyje saugomą vykdomąjį failą „MongoDB“ (mongod.exe). Jūsų įrenginio kelio pavadinimas turėtų būti kitoks, tačiau tikslas yra pasiekti šiukšliadėžės aplanke esantį failą mongod.exe.
Antroji kodo pusė (kurią skiria tarpo klavišas) yra kitas kelio pavadinimas. Šis kelias veda į „mongodb-data“, kuris yra failas, kurį turėsite sukurti patys. Šiame faile bus visi duomenys, kurie yra sukurti mūsų duomenų bazėje.
Mūsų failas vadinamas „mongodb-data“, tačiau vardas gali būti toks, koks, jūsų manymu, yra tinkamas.
Vykdant aukščiau nurodytą kodą, turėtų būti sukurtos kelios kodo eilutės, tačiau dvi eilutės, į kurias turite atkreipti didelį dėmesį, matomos žemiau:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "NETWORK", "id": 23015, "ctx": "klausytojas", "msg": "Klausau", "attr": {"adresas": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "Aš", "c": "NETWORK", "id": 23016, "ctx": "klausytojas", "msg": "Laukiu ryšių", "attr": {"portas": 27017, "ssl": "išjungtas"}}
Šiose dviejose eilutėse yra atitinkamai „localhost“ ir numatytasis „MongoDB“ serverio prievadas. Šie du numeriai reikalingi norint vėliau sukurti ryšį su „MongoDB“ serveriu, kad galėtume atlikti savo CRUD operacijas.
CRUD operacijų atlikimas
Dabar, kai mūsų „MongoDB“ serveris veikia ir veikia, galime prie jo prisijungti (naudodami atitinkamą tvarkyklę) ir pradėti atlikti CRUD operacijas. Šiame straipsnyje sukursime paprastą vartotojų duomenų bazę, kurioje bus saugomi mūsų vartotojų vardai ir amžius.
Vartotojo sukūrimas
Yra du pagrindiniai būdai, kaip įterpti vartotojus į „MongoDB“ duomenų bazę. Abu metodai yra gana panašūs, tačiau metodas, kurį turėtumėte pasirinkti, priklauso nuo norimų sukurti vartotojų skaičiaus konkrečiame egzemplioriuje. Jei jūsų tikslas yra sukurti vieną vartotoją, turėtumėte naudoti įterptiVienas metodas.
Tačiau jei tikslas yra sukurti daugiau nei vieną vartotoją vienu metu, tada įterpti daug metodas yra geresnis pasirinkimas.
„MongoDB insertOne“ metodo pavyzdys
// importuokite „mongodb“ ir naudokite destruktyvavimą, kad gautumėte „MongoClient“ funkciją
const {MongoClient} = reikalauti ("mongodb");
// ryšio URL ir duomenų bazę, prie kurios ketiname prisijungti
const ryšysURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'vartotojo vadybininkas';
// naudojant prisijungimo funkciją „MongoClient“, kad prisijungtumėte prie „MongoDB“ serverio
„MongoClient.connect“ (connectionURL, {useUnifiedTopology: true}, (klaida, klientas) => {
// patikrinkite, ar ryšys užmegztas
jei (klaida) {
return console.log ('Nepavyko prisijungti prie duomenų bazės');
}
// prieiti prie vartotojo vadybininko duomenų bazės
const db = klientas.db (duomenų bazės pavadinimas);
// į duomenų bazę įterpkite vieną vartotoją
db.collection ('vartotojai'). insertOne ({
vardas: „John Doe“,
amžius: '28'
}, (klaida, rezultatas) => {
jei (klaida) {
return console.log ('Nepavyko sukurti vartotojo');
}
console.log (rezultatas.ops);
})
})
Kad galėtume sukurti bet kurį vartotoją, reikia užmegzti ryšį su „MongoDB“ serveriu naudojant jūsų naudojamos kalbos „MongoDB“ tvarkyklę. Populiariausias tvarkyklė, kurią naudojame šioje mokymo programoje, yra „NodeJS“ tvarkyklė.
Pirmoje aukščiau esančioje mūsų kodo eilutėje mes galime naudoti pertvarkymo metodą, kad gautume „MongoClient“ funkciją iš savo serverio.
„MongoClient“ sutinka su trim argumentais:
- URL (naudojamas prisijungti prie „MongoDB“ serverio)
- Parinktys / nustatymai (kuris šiuo atveju nustato „useUnifiedTopology“ kintamąjį tiesą, kad būtų lengviau naudoti naująjį „Server Discover and Monitoring“ variklį)
- Atgalinio skambinimo funkcija, turinti du argumentus (klaida ir klientas)
Pagal „MongoClient“ metodo atgalinio skambučio funkciją galiausiai galime įtraukti vartotoją į savo duomenų bazę. Bet prieš pasiekdami tą tašką, turime gauti prieigą prie vartotojų valdytojų duomenų bazės.
Viena iš „MongoDB“ naudojimo grožių yra ta, kad nereikia aiškiai kurti duomenų bazės. Kai bus sukurta nuoroda į tam tikrą duomenų bazę naudojant argumentą „klientas“ (kaip parodyta aukščiau pateiktame kode), galėsite laisvai pradėti ja manipuliuoti.
Nuoroda į sukuriamą vartotojo valdytojų duomenų bazę saugoma kintamajame „db“, kurį naudosime įterpdami savo pirmąjį vartotoją į duomenų bazę.
Naudodamiesi nuoroda „db“, galime sukurti naują kolekciją, kuriai priskiriame pavadinimą „vartotojas“.
The įterptiVienas metodas apima du reikalingus argumentus; dokumentą (vartotoją) ir atgalinio skambinimo funkciją. Su įterptiVienas metodas, mes galime įterpti vartotoją vardu Peteris Davisas su amžiumi 32, į mūsų duomenų bazę.
Skambinimo funkcijai reikia dviejų argumentų (klaida ir rezultatas). Rezultato funkcijoje yra ops metodas, kurį mes naudojame norėdami pamatyti vartotoją, kurį ką tik sukūrėme, savo duomenų bazėje. Po to, kai vykdomas aukščiau pateiktas kodas, konsolėje gaunama tokia išvestis:
[{vardas: 'Peter Davis', amžius: '32', _id: 60772f869475e84740003c45}]
Nors kurdami vartotoją pateikėme tik du laukus, iš aukščiau pateiktos išvesties matote, kad sugeneruotas trečias laukas. Tai dar vienas šaunus dalykas apie „MongoDB“; jis automatiškai sugeneruoja kiekvieno sukurto dokumento unikalų ID.
Susijęs: Kuo skiriasi duomenų modeliavimas „MongoDB“?
Vartotojo skaitymas „MongoDB“
Du pagrindiniai metodai, naudojami skaitant dokumentus iš „MongoDB“, yra šie: rasti ir findOne. The rasti metodas naudojamas skaityti kelis dokumentus vienu metu ir findOne metodas naudojamas skaityti vieną dokumentą vienu metu.
„MongoDB findOne“ metodo pavyzdys
// importuokite „mongodb“ ir naudokite destruktūrizavimą, kad gautumėte „MongoClient“ metodą
const {MongoClient} = reikalauti ("mongodb");
// ryšio URL ir duomenų bazę, prie kurios ketiname prisijungti
const ryšysURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'vartotojo vadybininkas';
// naudojant prisijungimo funkciją „MongoClient“, kad prisijungtumėte prie „MongoDB“ serverio
„MongoClient.connect“ (connectionURL, {useUnifiedTopology: true}, (klaida, klientas) => {
// patikrinkite, ar ryšys užmegztas
jei (klaida) {
return console.log ('Nepavyko prisijungti prie duomenų bazės');
}
// sukurti vartotojo valdytojo duomenų bazę
const db = klientas.db (duomenų bazės pavadinimas);
// rasti vieną vartotoją į duomenų bazę
db.collection ('vartotojai'). findOne ({vardas: 'Peter Davis'}, (klaida, vartotojas) => {
jei (klaida) {
return console.log ('Nepavyko rasti vartotojo');
}
console.log (vartotojas);
})
});
Gerai prisiminti, kad prieš atlikdami bet kokias CRUD operacijas (kaip parodyta aukščiau pateiktame pavyzdyje), visada turėsite prisijungti prie „MongoDB“ serverio ir atitinkamos duomenų bazės.
The findOne metodas reikalauja dviejų būtinų argumentų. Pirmajame argumente yra paieškos kriterijai; dokumento galite ieškoti naudodami bet kurį jam unikalų kintamojo pavadinimą. Aukščiau pateiktame pavyzdyje mes naudojame pavadinimą „Peter Davis“.
Antrasis findOne metodas yra atgalinio skambinimo funkcija, kuriai priklauso du argumentai; pirma yra klaida, jei dokumento rasti nepavyksta, o antrasis yra dokumentas (kurį pavadinome „vartotoju“).
Vykdant aukščiau pateiktą kodą, konsolėje bus pateiktas toks rezultatas:
{_id: 60772f869475e84740003c45, vardas: „Peter Davis“, amžius: „32“}
Vartotojo atnaujinimas „MongoDB“
Yra du būdai, kaip atnaujinti dokumentus „MongoDB“. Nors abiejų struktūra yra labai panaši, „updateOne“ yra naudojamas atnaujinti vieną dokumentą vienu metu ir updateMany yra naudojamas atnaujinti daugelį dokumentų vienu metu.
„MongoDB updateOne“ metodo pavyzdys
// Atnaujinti vartotojo amžių
db.collection ('vartotojai'). updateOne ({vardas: "Peter Davis"},
{
$ set: {
amžius: „24“
}
})
Naudodami aukščiau pateiktą kodą, mes galime atnaujinti Peterio Daviso amžių iki 24 metų.
Vartotojo ištrynimas iš „MongoDB“
Yra du būdai, kaip ištrinti dokumentą iš „MongoDB“. The ištrintiVienas metodas naudojamas ištrinti vieną dokumentą, o ištrintiDaugelis metodas naudojamas trinti kelis dokumentus.
„MongoDB deleteOne“ metodo pavyzdys
// ištrinti dokumentą
db.collection ('vartotojai'). deleteOne ({vardas: 'Peter Davis'})
Ištrinimo operacija yra paprasčiausia CRUD operacija, kurią galima atlikti naudojant „MongoDB“. Kaip matote aukščiau pateiktame pavyzdyje (neįtraukiant reikalingo ryšio kodo ir atgalinio skambinimo funkcijos), reikia tik vienos kodo eilutės.
Dabar galite atlikti CRUD operacijas „MongoDB“
Dabar jūs turite pagrindinių žinių apie „MongoDB“ ir žinote, ką reiškia „NoSQL“. Jūs taip pat žinote, ką reiškia santrumpa CRUD ir kodėl šios operacijos yra esminės kiekvienos duomenų bazės savybės.
Šiame straipsnyje pateikiami visi įrankiai, būtini keturioms pagrindinėms CRUD operacijoms atlikti „MongoDB“. Dabar, kai turite CRUD operacijų praktinę patirtį, galite pradėti mokytis, kaip geriausiai modeliuoti duomenis naudojant „MongoDB“.
Vaizdo kreditas: Aleksandras Sosluevas /„WiKiMedia Commons“
Svarstote kitokį požiūrį į duomenų bazes? Štai kaip duomenų modeliavimas veikia „MongoDB“.
Skaitykite toliau
- Programavimas
- Kodavimo pamokos
- duomenų bazė
Kadeisha Kean yra „Full Stack“ programinės įrangos kūrėja ir technikos / technologijų rašytoja. Ji turi aiškų sugebėjimą supaprastinti kai kurias sudėtingiausias technologines sąvokas; gamina medžiagą, kurią lengvai supranta bet kuris naujokas technologija. Ji aistringai rašo, kuria įdomią programinę įrangą ir keliauja po pasaulį (per dokumentinius filmus).
Prenumeruokite mūsų naujienlaiškį
Prisijunkite prie mūsų naujienlaiškio, kuriame rasite techninių patarimų, apžvalgų, nemokamų el. Knygų ir išskirtinių pasiūlymų!
Dar vienas žingsnis…!
Prašome patvirtinti savo el. Pašto adresą el. Laiške, kurį jums ką tik išsiuntėme.