MongoDB poskytuje svojim používateľom možnosť vytvárať moderné databázy, ku ktorým je ľahký prístup a je s nimi možné manipulovať.

MongoDB je NoSQL open-source databáza, ktorá je k dispozícii na použitie vo všetkých operačných systémoch.

Ak ste sa na škole učili návrh databáz, je pravdepodobné, že ste sa nenaučili používať MongoDB alebo nezískali veľa skúseností s databázami NoSQL. To nie je žiadnym prekvapením - až do roku 1998 mnoho ľudí o NoSQL ani len nepočulo, a až v roku 2009 začali získavať pozornosť databázy NoSQL.

Čo je NoSQL?

Skratka SQL znamená „jazyk štruktúrovaného dotazu“. SQL sa používa na vykonávanie matematických operácií s údajmi uchovávanými v databázach, ktoré sú rigidne štruktúrované podľa riadkov a stĺpcov (tabuliek).

Skratka NoSQL v závislosti od toho, koho sa pýtate, znamená „nielen SQL“ alebo „non SQL“. Jedinou skutočnosťou však je, že všetci možno súhlasiť s tým, že NoSQL sa používa na vykonávanie operácií s údajmi, ktoré sa uchovávajú v databázach, ktoré nie sú štruktúrované podľa riadkov a stĺpce.

instagram viewer

Existuje niekoľko databáz NoSQL, ale názov, ktorý stojí nad ostatnými, je MongoDB. Niektorí si v skutočnosti myslia, že MongoDB je jediná databáza tohto druhu.

Čo je MongoDB?

NoSQL podporuje štyri rôzne typy databáz: dokument, obchody s kľúčmi a hodnotami, stĺpcovo orientované a grafy. MongoDB je databáza dokumentov, pretože ukladá údaje do dokumentu podobného formátu JSON a rovnako ako všetky databázy podporuje všetky základné operácie CRUD.

Súvisiace: Ako môže databáza MongoDB lepšie usporiadať vaše údaje

Čo sú operácie CRUD?

Skratka CRUD znamená „vytvárať, čítať, aktualizovať a mazať“. CRUD predstavuje štyri základné funkčné požiadavky všetkých databáz. Ak používate databázu, ktorá vám neumožňuje vytvárať, čítať, aktualizovať alebo mazať záznamy, nejde o databázu.

Stiahnite si MongoDB

Predtým, ako budete môcť vykonávať akékoľvek operácie CRUD v MongoDB, musíte si stiahnuť a nainštalovať MongoDB do svojho zariadenie (alebo použite dostupnú cloudovú verziu), spustite server MongoDB, pripojte sa k nemu a nakoniec vytvorte nový databázy.

Server MongoDB je možné stiahnuť z oficiálneho servera Webová stránka MongoDB.

Vykonávam server MongoDB

Spustite server MongoDB z konzoly vášho IDE.


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

Vyššie uvedený kód vykoná server MongoDB. Prvá polovica poskytuje priamu cestu k spustiteľnému súboru MongoDB (mongod.exe), ktorý je uložený vo vašom zariadení. Cesta vo vašom zariadení by mala byť odlišná, cieľom je však dostať sa do súboru mongod.exe v priečinku bin.

Druhá polovica kódu (ktorá je oddelená medzerníkom) je iná cesta. Táto cesta vedie k súboru „mongodb-data“, čo je súbor, ktorý si budete musieť vytvoriť sami. Tento súbor bude obsahovať všetky údaje, ktoré sú vytvorené v našej databáze.

Náš súbor sa volá „mongodb-data“, ale názov môže byť akýkoľvek, aký považujete za vhodný.

Spustenie vyššie uvedeného kódu by malo vytvoriť niekoľko riadkov kódu, ale dva riadky, ktorým musíte venovať zvýšenú pozornosť, sú uvedené nižšie:


{"t": {"$ date": "2021-04-14T18: 10: 11.779-05: 00"}, "s": "I", "c": "SIEŤ", "id": 23015, "ctx": "listener", "msg": "Počúvam", "attr": {"address": "127.0.0.1"}}
{"t": {"$ date": "2021-04-14T18: 10: 11.797-05: 00"}, "s": "I", "c": "SIEŤ", "id": 23016, "ctx": "listener", "msg": "Čakanie na pripojenie", "attr": {"port": 27017, "ssl": "off"}}

Tieto dva riadky obsahujú localhost a predvolený port servera MongoDB. Tieto dve čísla sú potrebné na neskoršie vytvorenie spojenia so serverom MongoDB, aby sme mohli vykonávať naše operácie CRUD.

Vykonávanie operácií CRUD

Teraz, keď je náš server MongoDB funkčný, sa k nemu môžeme pripojiť (pomocou príslušného ovládača) a začať vykonávať operácie CRUD. Pre tento článok vytvoríme jednoduchú databázu používateľov, ktorá bude obsahovať mená a vek našich používateľov.

Vytvorenie používateľa

Existujú dva hlavné spôsoby vkladania používateľov do databázy MongoDB. Obidve metódy sú si dosť podobné, ale spôsob, ktorý by ste mali zvoliť, závisí od počtu používateľov, ktorých chcete vytvoriť v konkrétnej inštancii. Ak je vaším cieľom vytvoriť jedného používateľa, mali by ste použiť insertOne metóda.

Ak je však cieľom vytvoriť viac ako jedného používateľa súčasne, potom vložiťMnohé metóda je lepšia voľba.

Príklad metódy MongoDB insertOne


// import mongodb a použitie deštrukturalizácie na získanie funkcie MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL pripojenia a databáza, ku ktorej sa chceme pripojiť
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'užívateľský manažér';
// použitie funkcie connect na MongoClient na pripojenie k serveru MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (chyba, klient) => {
// skontrolovať, či bolo nadviazané spojenie
if (chyba) {
return console.log ('Could not connect to database');
}
// prístup k databáze správcov používateľov
const db = client.db (názov_databázy);
// vložiť jedného používateľa do databázy
db.collection ('používatelia'). insertOne ({
meno: „John Doe“,
vek: '28'
}, (chyba, výsledok) => {
if (chyba) {
return console.log ('Could not create user');
}
console.log (result.ops);
})
})

Predtým, ako budeme môcť vytvoriť ľubovoľných používateľov, je potrebné nadviazať spojenie so serverom MongoDB pomocou ovládača MongoDB pre jazyk, ktorý používate. Najobľúbenejším ovládačom, ktorý v tomto výučbe používame, je ovládač NodeJS.

S prvým riadkom nášho kódu vyššie môžeme pomocou metódy deštrukturalizácie načítať funkciu MongoClient z nášho servera.

MongoClient prijíma tri argumenty:

  • URL (používa sa na pripojenie k serveru MongoDB)
  • Možnosti / Nastavenia (čo v tomto prípade nastavuje premennú „useUnifiedTopology“ na hodnotu true, aby sa uľahčilo používanie nového nástroja Server Discover and Monitoring).
  • Funkcia spätného volania, ktorá vyžaduje dva argumenty (chyba a klient)

V rámci funkcie spätného volania metódy MongoClient môžeme konečne vložiť používateľa do našej databázy. Ale predtým, ako sa dostaneme do tohto bodu, musíme získať prístup do databázy správcov používateľov.

Jednou z krás používania MongoDB je, že nie je potrebné explicitne vytvárať databázu. Akonáhle je odkaz na konkrétnu databázu vygenerovaný pomocou argumentu „klient“ (ako je vidieť v kóde vyššie), môžete s ním začať manipulovať.

Odkaz na databázu správcov používateľov, ktorú generujeme, je uložený v premennej „db“, ktorú použijeme na vloženie nášho prvého používateľa do databázy.

Pomocou referencie „db“ môžeme vytvoriť novú kolekciu, ktorej priradíme meno „užívateľ“.

The insertOne metóda vyžaduje dva požadované argumenty; dokument (užívateľ) a funkcia spätného volania. Vďaka insertOne metódou, sme schopní vložiť používateľa menom Peter Davis s vekom 32, do našej databázy.

Funkcia spätného volania má dva argumenty (chyba a výsledok). Výsledná funkcia obsahuje metódu ops, pomocou ktorej vidíme používateľa, ktorého sme práve vytvorili v našej databáze. Po vykonaní vyššie uvedeného kódu sa v konzole vytvorí nasledujúci výstup:


[{name: 'Peter Davis', age: '32', _id: 60772f869475e84740003c45}]

Aj keď sme pri vytváraní používateľa poskytli iba dve polia, z výstupu vyššie vidno, že bolo vygenerované tretie pole. Toto je ďalšia skvelá vec na MongoDB; automaticky generuje jedinečné ID pre každý dokument, ktorý vytvorí.

Súvisiace: Ako sa líši dátové modelovanie v MongoDB?

Čítanie používateľa v MongoDB

Dve hlavné metódy používané na čítanie dokumentov z MongoDB sú: Nájsť a findOne. The Nájsť metóda sa používa na čítanie viacerých dokumentov súčasne a findOne metóda sa používa na čítanie jedného dokumentu súčasne.

Príklad metódy MongoDB findOne


// import mongodb a použitie deštrukturalizácie na získanie metódy MongoClient
const {MongoClient} = require ("mongodb");
// adresa URL pripojenia a databáza, ku ktorej sa chceme pripojiť
const connectionURL = 'mongodb: //127.0.0.1: 27017';
const databaseName = 'užívateľský manažér';
// použitie funkcie connect na MongoClient na pripojenie k serveru MongoDB
MongoClient.connect (connectionURL, {useUnifiedTopology: true}, (chyba, klient) => {
// skontrolovať, či bolo nadviazané spojenie
if (chyba) {
return console.log ('Nepodarilo sa pripojiť k databáze');
}
// vytvorenie databázy správcov používateľov
const db = client.db (názov_databázy);
// nájdenie jedného používateľa v databáze
db.collection ('users'). findOne ({name: 'Peter Davis'}, (error, user) => {
if (chyba) {
return console.log ('Could not find user');
}
console.log (užívateľ);
})
});

Je dobré si uvedomiť, že pred vykonaním akýchkoľvek operácií CRUD sa budete musieť vždy pripojiť k serveru MongoDB a príslušnej databáze (ako je vidieť v našom príklade vyššie).

The findOne metóda vyžaduje dva požadované argumenty. Prvý argument obsahuje kritériá vyhľadávania; dokument môžete vyhľadať pomocou ľubovoľného jedinečného názvu premennej. V našom príklade vyššie používame meno „Peter Davis“.

Druhý argument findOne metóda je funkcia spätného volania, ktorá vyžaduje dva argumenty; prvá je chyba, ak dokument nie je možné nájsť, a druhá je dokument (ktorý sme pomenovali „používateľ“).

Vykonanie vyššie uvedeného kódu spôsobí v konzole nasledujúci výsledok:


{_id: 60772f869475e84740003c45, meno: „Peter Davis“, vek: „32“}

Aktualizácia používateľa v MongoDB

V MongoDB sú k dispozícii dva spôsoby aktualizácie dokumentov. Aj keď je štruktúra oboch veľmi podobná, updateOne sa používa na aktualizáciu jedného dokumentu súčasne a updateMany sa používa na aktualizáciu mnohých dokumentov súčasne.

Príklad metódy MongoDB updateOne


// Aktualizácia veku používateľa
db.collection ('users'). updateOne ({name: "Peter Davis"},
{
$ set: {
vek: '24'
}
})

Pomocou kódu vyššie môžeme aktualizovať vek Petra Davisa na 24 rokov.

Vymazanie používateľa v MongoDB

Existujú dva spôsoby odstránenia dokumentu z MongoDB. The deleteOne metóda sa používa na odstránenie jedného dokumentu a deleteMany metóda sa používa na vymazanie viacerých dokumentov.

Príklad metódy MongoDB deleteOne


// vymazanie dokumentu
db.collection ('users'). deleteOne ({name: 'Peter Davis'})

Operácia mazania je najjednoduchšia operácia CRUD, ktorú je možné vykonať v MongoDB. Ako vidíte v príklade vyššie (nezahŕňa požadovaný kód pripojenia a funkciu spätného volania), zaberá iba jeden riadok kódu.

Teraz môžete vykonávať operácie CRUD v MongoDB

Teraz máte základné znalosti MongoDB a viete, čo znamená NoSQL. Tiež viete, čo znamená skratka CRUD a prečo sú tieto operácie základnými vlastnosťami každej databázy.

Tento článok poskytuje všetky nástroje potrebné na vykonávanie štyroch základných operácií CRUD v MongoDB. Teraz, keď ste vybavení CRUD operačným know-how, sa môžete začať učiť, ako najlepšie modelovať vaše dáta pomocou MongoDB.

Uznanie obrázka: Alexander Sosluev /WiKiMedia Commons

Email
Ako sa líši dátové modelovanie v MongoDB?

Zvažujete iný prístup k databázam? Tu je ukážka toho, ako funguje dátové modelovanie v MongoDB.

Prečítajte si Ďalej

Súvisiace témy
  • Programovanie
  • Výukové programy pre kódovanie
  • databázy
O autorovi
Kadeisha Kean (Publikovaných 9 článkov)

Kadeisha Kean je softwarová vývojárka a autorka technických / technologických noviniek. Má výraznú schopnosť zjednodušovať niektoré z najkomplexnejších technologických konceptov; výroba materiálu, ktorý ľahko pochopí každý technologický nováčik. Venuje sa písaniu, vývoju zaujímavého softvéru a cestovaniu po svete (prostredníctvom dokumentárnych filmov).

Viac od Kadeisha Keana

Prihlásiť sa ku odberu noviniek

Pripojte sa k nášmu bulletinu s technickými tipmi, recenziami, bezplatnými elektronickými knihami a exkluzívnymi ponukami!

Ešte jeden krok…!

V e-maile, ktorý sme vám práve poslali, potvrďte svoju e-mailovú adresu.

.