MongoDB svojim korisnicima pruža mogućnost stvaranja modernih baza podataka kojima se lako pristupa i kojima se manipulira.
MongoDB je NoSQL baza podataka otvorenog koda koja je dostupna za upotrebu na svim operativnim sustavima.
Ako ste naučili dizajn baze podataka u školi, velika je vjerojatnost da niste naučili koristiti MongoDB ili stekli puno iskustva s NoSQL bazama podataka. To ne čudi - sve do 1998. mnogi ljudi nisu ni čuli za NoSQL, a tek su 2009. baze podataka NoSQL počele dobivati na snazi.
Što je NoSQL?
Akronim SQL označava "jezik strukturiranih upita". SQL se koristi za izvođenje matematičkih operacija nad podacima koji se čuvaju u bazama podataka koje su strogo strukturirane po redovima i stupcima (tablicama).
Kratica NoSQL, ovisno o tome koga tražite, kratica je "ne samo SQL" ili "ne SQL". Međutim, jedna činjenica da svi mogu se složiti oko toga da se NoSQL koristi za izvođenje operacija podataka koji se nalaze u bazama podataka koje nisu strukturirane po redovima i stupaca.
Postoji nekoliko NoSQL baza podataka, ali ime koje stoji iznad ostalih je MongoDB. U stvari, neki ljudi misle da je MongoDB jedina baza podataka te vrste.
Što je MongoDB?
NoSQL podržava četiri različite vrste baza podataka: dokument, spremišta ključ / vrijednost, orijentirani na stupce i grafikoni. MongoDB je baza podataka dokumenata jer podatke pohranjuje u dokument sličan JSON-u i kao i sve baze podataka podržava sve bitne CRUD operacije.
Povezano: Kako baza podataka MongoDB može bolje organizirati vaše podatke
Što su CRUD operacije?
Kratica CRUD kratica je od "stvaranje, čitanje, ažuriranje i brisanje". CRUD predstavlja četiri osnovna funkcionalna zahtjeva svih baza podataka. Ako upotrebljavate bazu podataka koja vam ne dopušta stvaranje, čitanje, ažuriranje ili brisanje zapisa, onda to nije baza podataka.
Preuzmite MongoDB
Prije nego što možete izvršiti bilo kakve CRUD operacije u MongoDB, morat ćete preuzeti i instalirati MongoDB na svoj uređaja (ili upotrijebite dostupnu verziju u oblaku), pokrenite MongoDB poslužitelj, povežite se s njim i na kraju stvorite novi baza podataka.
MongoDB poslužitelj možete preuzeti sa službenog Web stranica MongoDB.
Izvršenje MongoDB poslužitelja
Izvršite MongoDB poslužitelj s konzole vašeg IDE-a.
/Users/Administrator/mongodb/bin/mongod.exe --dbpath = / Users / Administrator / mongodb-data
Gornji kod izvršava MongoDB poslužitelj. Prva polovica pruža izravan put do izvršne datoteke MongoDB (mongod.exe) koja je pohranjena na vašem uređaju. Naziv puta na vašem uređaju trebao bi biti drugačiji, ali cilj je doći do datoteke mongod.exe u mapi bin.
Druga polovica koda (koja je odvojena razmaknicom) drugo je ime puta. Ovaj put vodi do "mongodb-data", a to je datoteka koju ćete morati sami stvoriti. Ova će datoteka sadržavati sve podatke stvorene u našoj bazi podataka.
Naša se datoteka naziva "mongodb-data", ali ime može biti ono što smatrate prikladnim.
Izvršenje gornjeg koda trebalo bi proizvesti nekoliko redaka koda, ali dva retka na koja morate obratiti veliku pozornost mogu se vidjeti u nastavku:
{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "MREŽA", "id": 23015, "ctx": "slušatelj", "msg": "Slušam dalje", "attr": {"adresa": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "MREŽA", "id": 23016, "ctx": "listener", "msg": "Čeka se veza", "attr": {"port": 27017, "ssl": "off"}}
Ova dva retka sadrže localhost i zadani port MongoDB poslužitelja. Ova su dva broja potrebna da bi se kasnije stvorila veza s MongoDB poslužiteljem kako bismo mogli izvoditi svoje CRUD operacije.
Izvođenje CRUD operacija
Sada kada je naš MongoDB poslužitelj pokrenut i možemo se povezati s njim (koristeći odgovarajući pokretački program) i započeti izvođenje CRUD operacija. Za ovaj ćemo članak stvoriti jednostavnu bazu podataka korisnika koja će pohraniti imena i dob naših korisnika.
Stvaranje korisnika
Postoje dva glavna načina za umetanje korisnika u MongoDB bazu podataka. Obje su metode prilično slične, ali metoda koju biste trebali odabrati ovisi o broju korisnika koje želite stvoriti u određenoj instanci. Ako je vaš cilj stvoriti jednog korisnika, trebali biste koristiti insertOne metoda.
Međutim, ako je cilj stvoriti više korisnika odjednom, tada insertMany metoda je bolja opcija.
Primjer MongoDB insertOne metode
// uvozimo mongodb i koristimo destrukturiranje da bismo dobili funkciju MongoClient
const {MongoClient} = require ("mongodb");
// URL veze i baza podataka na koju se namjeravamo povezati
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'upravitelj korisnika';
// pomoću funkcije povezivanja na MongoClientu za povezivanje s MongoDB poslužiteljem
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (pogreška, klijent) => {
// provjeravamo je li veza uspostavljena
if (pogreška) {
return console.log ('Ne mogu se povezati s bazom podataka');
}
// pristup bazi podataka upravitelja korisnika
const db = client.db (Ime baze podataka);
// ubacivanje jednog korisnika u bazu podataka
db.collection ('korisnici'). insertOne ({
ime: 'John Doe',
dob: '28'
}, (pogreška, rezultat) => {
if (pogreška) {
return console.log ('Nije moguće stvoriti korisnika');
}
console.log (result.ops);
})
})
Prije nego što možemo stvoriti bilo koje korisnike, mora se uspostaviti veza s MongoDB poslužiteljem pomoću MongoDB upravljačkog programa jezika koji koristite. Najpopularniji upravljački program i onaj koji koristimo u ovom vodiču je upravljački program NodeJS.
S prvim retkom našeg gornjeg koda, možemo koristiti metodu destrukturiranja za dohvaćanje funkcije MongoClient s našeg poslužitelja.
MongoClient prihvaća tri argumenta:
- URL (koristi se za povezivanje s MongoDB poslužiteljem)
- Opcije / postavke (što u ovom slučaju postavlja varijablu "useUnifiedTopology" na true, kako bi se olakšala upotreba novog mehanizma za otkrivanje i nadgledanje poslužitelja)
- Funkcija povratnog poziva koja uzima dva argumenta (pogreška i klijent)
Unutar funkcije povratnog poziva metode MongoClient, konačno možemo umetnuti korisnika u našu bazu podataka. No prije nego što dođemo do te točke, moramo dobiti pristup bazi podataka upravitelja korisnika.
Jedna od ljepota korištenja MongoDB-a je ta što nema potrebe za izričitom izradom baze podataka. Jednom kada se referenca na određenu bazu podataka generira pomoću argumenta „klijent“ (kao što se vidi u gornjem kodu), možete početi s njom manipulirati.
Referenca na bazu podataka upravitelja korisnika koju generiramo pohranjena je u varijablu "db", koju ćemo upotrijebiti za umetanje prvog korisnika u bazu podataka.
Pomoću reference "db" možemo stvoriti novu zbirku kojoj dodijelimo ime "korisnik".
The insertOne metoda uzima dva potrebna argumenta; dokument (korisnik) i funkcija povratnog poziva. Uz insertOne metodom, možemo umetnuti korisnika pod imenom Peter Davis s godinama 32, u našu bazu podataka.
Funkcija povratnog poziva uzima dva argumenta (pogreška i rezultat). Funkcija rezultata sadrži ops metodu koju koristimo da bismo vidjeli korisnika kojeg smo upravo stvorili u našoj bazi podataka. To daje sljedeći izlaz u konzoli, nakon izvršavanja gornjeg koda:
[{ime: 'Peter Davis', dob: '32', _id: 60772f869475e84740003c45}]
Iako smo prilikom izrade korisnika osigurali samo dva polja, iz gornjeg rezultata možete vidjeti da je generirano treće polje. Ovo je još jedna cool stvar u vezi s MongoDB-om; automatski generira jedinstveni ID za svaki dokument koji kreira.
Povezano: Po čemu se modeliranje podataka razlikuje u MongoDB-u?
Čitanje korisnika u MongoDB-u
Dvije glavne metode korištene za čitanje dokumenata iz MongoDB-a su: pronaći i findOne. The pronaći metoda koristi se za čitanje više dokumenata odjednom i findOne metoda koristi se za istovremeno čitanje pojedinog dokumenta.
Primjer metode MongoDB findOne
// uvozimo mongodb i koristimo destrukturiranje da bismo dobili MongoClient metodu
const {MongoClient} = require ("mongodb");
// URL veze i baza podataka na koju se namjeravamo povezati
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'upravitelj korisnika';
// pomoću funkcije povezivanja na MongoClientu za povezivanje s MongoDB poslužiteljem
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (pogreška, klijent) => {
// provjeravamo je li veza uspostavljena
if (pogreška) {
return console.log ('Ne mogu se povezati s bazom podataka');
}
// stvaranje baze podataka upravitelja korisnika
const db = client.db (Ime baze podataka);
// pronalaženje jednog korisnika u bazi podataka
db.collection ('users'). findOne ({name: 'Peter Davis'}, (pogreška, korisnik) => {
if (pogreška) {
return console.log ('Ne mogu pronaći korisnika');
}
console.log (korisnik);
})
});
Dobro je zapamtiti da ćete se uvijek morati povezati s MongoDB poslužiteljem i odgovarajućom bazom podataka da biste mogli izvoditi bilo kakve CRUD operacije (kao što je prikazano u našem primjeru gore).
The findOne metoda uzima dva potrebna argumenta. Prvi argument sadrži kriterije pretraživanja; dokument možete tražiti pomoću bilo kojeg naziva varijable koji je za njega jedinstven. U našem primjeru gore koristimo ime "Peter Davis".
Drugi argument findOne metoda je funkcija povratnog poziva koja uzima dva argumenta; prva je pogreška ako se dokument ne može pronaći, a druga je dokument (kojeg smo nazvali "korisnik").
Izvršenjem gornjeg koda u konzoli će se dobiti sljedeći rezultat:
{_id: 60772f869475e84740003c45, ime: 'Peter Davis', dob: '32'}
Ažuriranje korisnika u MongoDB-u
Postoje dvije dostupne metode za ažuriranje dokumenata u MongoDB-u. Iako je struktura za obje vrlo slična, updateOne koristi se za ažuriranje jednog po jednog dokumenta i updateMany koristi se za ažuriranje mnogih dokumenata odjednom.
Primjer MongoDB updateOne metode
// Ažuriranje korisnikove dobi
db.collection ('users'). updateOne ({name: "Peter Davis"},
{
$ set: {
dob: '24'
}
})
Pomoću gornjeg koda možemo ažurirati dob Petera Davisa na 24 godine.
Brisanje korisnika u MongoDB
Dostupne su dvije metode za brisanje dokumenta iz MongoDB-a. The deleteOne metoda koristi se za brisanje jednog dokumenta, a deleteMany metoda koristi se za brisanje više dokumenata.
Primjer metode MongoDB deleteOne
// brisanje dokumenta
db.collection ('korisnici'). deleteOne ({ime: 'Peter Davis'})
Operacija brisanja je najjednostavnija CRUD operacija koja se može izvesti u MongoDB-u. Kao što možete vidjeti u gornjem primjeru (ne uključujući traženi kod veze i funkciju povratnog poziva), potreban je samo jedan redak koda.
Sada možete izvoditi CRUD operacije u MongoDB-u
Sada imate osnovno znanje o MongoDB-u i znate što znači NoSQL. Također znate što znači kratica CRUD i zašto su ove operacije ključne osobine svake baze podataka.
Ovaj vam članak nudi sve alate potrebne za izvođenje četiri osnovne CRUD operacije u MongoDB-u. Sad kad ste opremljeni znanjem o CRUD operacijama, možete početi učiti kako najbolje modelirati svoje podatke pomoću MongoDB-a.
Zasluga za sliku: Alexander Sosluev /WiKiMedia Commons
S obzirom na drugačiji pristup bazama podataka? Evo kako modeliranje podataka funkcionira u MongoDB-u.
Pročitajte Dalje
- Programiranje
- Vodiči za kodiranje
- baza podataka
Kadeisha Kean je programerica softvera u cijeloj tehnologiji i pisac tehničkih / tehnoloških tehnologija. Ona ima izrazitu sposobnost pojednostavljivanja nekih od najsloženijih tehnoloških koncepata; proizvodeći materijal koji lako može razumjeti bilo koji tehnološki novak. Strastveno joj je pisanje, razvoj zanimljivog softvera i putovanje svijetom (kroz dokumentarne filmove).
Pretplatite se na naše obavijesti
Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!
Još jedan korak…!
Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.