Začíname s programom MongoDB pre začiatočníkov

Zistite, čo je MongoDB, inštalačná príručka a základné operácie.


MongoDB NoSQL trenduje viac ako kedykoľvek predtým. Máte to potrebné pochopenie?

Nerobte si starosti, ak nie, pomôžu vám nasledujúce.

úvod

S prechodom paradigmy na dynamický obsah sa dopyt po databáze bez SQL zvýšil. To viedlo k vzniku mnohých databáz typu No-SQL MongoDB.

Klasifikovaný ako databáza bez SQL, MongoDB je databáza založená na dokumentoch, ktorá ukladá údaje vo forme dokumentov JSON s automaticky generovanou identifikáciou pre každý dokument..

Databáza No-SQL je databáza, v ktorej nie je na rozdiel od štruktúrovaných SQL databáz pevná štruktúra tabuľky. MongoDB ukladá údaje vo forme reťazca JSON bez ohľadu na počet atribútov alebo názov atribútov v konkrétnom stĺpci..

To vývojárom umožňuje rýchlo vykonávať zmeny v entitách bez potreby akýchkoľvek zmien na úrovni databázy.

Inštalácia MongoDB

MongoDB, rovnako ako všetky ostatné databázy, je k dispozícii vo viacerých variantoch v závislosti od potrieb vývoja. Varianty sú uvedené nižšie a je možné ich z nich stiahnuť alebo stiahnuť odkaz

  • MongoDB Atlas – databáza ako služba
  • Komunitný server – zadarmo na použitie pre komunitu vývojárov
  • MongoDB Enterprise Edition – komerčná verzia s ďalšími funkciami

Každý z nich je plne kompatibilný s každým operačným systémom. Ak chcete začať s inštaláciou komunitného servera, stiahnite príslušný inštalačný súbor podľa vášho operačného systému.

Proces inštalácie sa mierne líši pre každý operačný systém, a preto by sme mali prejsť každou inštaláciou operačného systému osobitne.

Inštalácia v systéme MacOS

Inštalácia MongoDB v systéme MacOS. Stiahnite si archív .tgz obsahujúci potrebné binárne súbory. Pri archivácii súboru by ste mali mať možnosť zobraziť veľa binárnych súborov umiestnených v priečinku popolnice zložka.

  • Presuňte priečinok na požadované miesto
  • Otvorte terminál a zmeňte adresár na vyššie uvedený adresár bin
  • Vykonaním nižšie uvedeného príkazu vytvorte databázu na požadovanom mieste.

$ ./mongod –dbpath / cesta k požadovanému adresáru /

Vo vyššie uvedenom príkaze nahraďte cestu k adresáru požadovanou cestou a server sa spustí hneď po vykonaní príkazu.

Inštalácia vo Windows

Centrum sťahovania MongoDB poskytuje spustiteľný súbor .msi balík na inštaláciu MongoDB do Windows. Inštalácia v systéme Windows je pomerne jednoduchá a po stiahnutí nastavenia sa dá vykonať pomocou niekoľkých príkazov.

  • Vykonaním nižšie uvedených príkazov nainštalujte MongoDB do Windows PC / servera Windows.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
installLocation ="C: \ Program Files \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Vyššie uvedené príkazy vás zavedú do príslušného adresára a vykonajú inštaláciu pre inštaláciu na určenom mieste. Po inštalácii musíte nakonfigurovať predvolenú cestu ukladania databázy pre MongoDB. Nižšie uvedený príkaz vám pomôže nakonfigurovať to isté

> md \ db \ data

Vyššie uvedený príkaz vytvorí priečinok db / data v adresári, na ktorý príkazový riadok aktuálne odkazuje. V prípade, že potrebujete znova nakonfigurovať databázu, môžete použiť mongod.exe s cesta- argument, ako je uvedené nižšie:

>"C: \ Program Files \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutorial \ mongodb \ data

Inštalácia v systéme Linux

Podobne ako v prípade systémov MacOS na stiahnutie, sú varianty MongoDB for Linux k dispozícii aj vo forme archivovaných balíkov binárnych súborov. Proces inštalácie MongoDB je dosť podobný.

  • Presuňte binárne súbory na požadované miesto
  • Otvorte terminál v priečinku
  • Vykonajte príkaz uvedený nižšie s požadovaným umiestnením databázy DB

$ ./mongod –dbpath / cesta k požadovanému adresáru /

Vytvorenie prvej kolekcie

MongoDB ukladá údaje vo forme dokumentov JSON. Skupina takejto dokumentácie je súhrnne známa ako zbierka v MongoDB. Zbierka je teda analogická s tabuľkou v relačnej databáze, zatiaľ čo dokument je analogický záznamu.

Na ukladanie dokumentov musíme najprv vytvoriť kolekciu. Vzrušujúce na databáze NoSQL je, že na rozdiel od databázy SQL nemusíte v nej špecifikovať názvy stĺpcov ani typy údajov..

Prvým krokom k vytvoreniu kolekcie je vytvorenie databázy. Ak chcete vytvoriť databázu a pripojiť sa k nej pomocou príkazového riadku, vykonajte príkaz uvedený nižšie z domovského adresára inštalácie MongoDB.

Výukový program $ ./bin/mongo

Tento príkaz sa používa na začatie pripojenia k databáze a na súčasné pripojenie k databáze výukových programov. V protokole sa zobrazí veľa riadkov, čo znamená, že príkazový riadok sa pripojil k databáze MongoDB.

Vzorový obrázok z príkazového riadku sa zobrazuje nižšie, aby vám poskytol lepšiu predstavu.

  • Ak chcete vytvoriť kolekciu, vykonajte nasledujúci príkaz:

$ > db.createCollection ( ‘firstCollection’);

Takto sa vytvorí prázdna kolekcia. Ďalším krokom je vloženie údajov a vykonanie nejakého spracovania v záznamoch pomocou príkazového riadku MongoDB.

Vloženie dokumentu do zbierky

Ako bolo uvedené vyššie, do každej kolekcie MongoDB je možné vložiť takmer akýkoľvek JSON.

Začnime vložením prvého dokumentu JSON do firstCollection zbierka vytvorená vyššie.

> db.firstCollection.insertOne ({názov: ‘Abhishek’, zručnosť: ‘MongoDB’});

Vyššie uvedený príkaz vloží jeden dokument JSON do prvej kolekcie. To isté sa dá overiť pomocou nasledujúceho príkazu:

> db.firstCollection.find ();

Vyššie uvedený príkaz má viac použití v závislosti od variácie funkcie find (). Ak nie sú zadané žiadne argumenty, ako je to v prípade vyššie uvedeného príkazu, načíta všetky dostupné dokumenty zo zbierky.

Môžete vložiť ešte jeden záznam a vyskúšať to isté. V takom prípade by výstup vyššie uvedeného príkazu bol podobný výstupu uvedenému nižšie:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "názov" : "Abhishek", "zručnosť" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "názov" : "GeekFlare", "zručnosť" : "Java, MongoDB, NodeJS" }

Ako je vidieť, sú k dispozícii dva dostupné záznamy. Funkcia find () by sa mohla ľahko použiť na filtrovanie dokumentov na základe konkrétnych parametrov. Filtrujme dokument pomocou atribútu name.

Proces filtrovania je jednoduchý a dá sa pochopiť z nasledujúceho príkazu:

db.firstCollection.find ({názov: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "názov" : "Abhishek", "zručnosť" : "MongoDB" }

Filter možno použiť aj s viacerými atribútmi v JSON. Aj keď je možné do dotazu pridať ľubovoľný počet parametrov, obmedzenie tohto prístupu spočíva v tom, že zodpovedá iba presnej hodnote atribútov..

Filtrovanie záznamov pomocou Regex

Na vykonanie ekvivalentu MongoDB ako klauzuly MySQL sa používa MongoDB regex. Regex je séria znakov tvoriacich vzor, ​​ktorý sa zhoduje. Doslovné texty sú podobné ako literárne knihy tie, ktoré sa používajú v Javascript.

Pre aktuálnu kolekciu sa pokúsime načítať údaje porovnaním vzoru s atribútom skill. Nižšie uvedený príkaz dostane zoznam ľudí so zručnosťou MongoDB. Takto načíta dva záznamy, pretože oba obsahujú reťazec MongoDB.

> db.firstCollection.find ({zručnosť :. /.* MongoDB * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "názov" : "Abhishek", "zručnosť" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "názov" : "GeekFlare", "zručnosť" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({zručnosť :. /.* Java * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "názov" : "GeekFlare", "zručnosť" : "Java, MongoDB, NodeJS" }

Vyššie uvedený kód zobrazuje výsledok dvoch rôznych reťazcov vo forme regulárnych výrazov. Prvý dotaz vyvolá zoznam dokumentu, v ktorom atribút skill obsahuje kľúčové slovo MongoDB, zatiaľ čo druhý dotaz vyvolá iba ľudí, ktorí majú skúsenosti s Java.

Ďalšou výzvou v dotazovaní založenom na kritériách je dotazovanie s podmienkou OR alebo AND.

Zložité otázky v MongoDB

Ako je zrejmé z vyššie uvedených príkazov, MongoDB, kde doložky fungujú na JSON. Proces kombinovania podmienok závisí aj od samotného JSON. MongoDB poskytuje operátorom ako $ alebo, $ a tiež $, aby nevykonávali príslušné operácie dotazov.

Pokúsme sa získať zoznam dokumentov, kde atribút názvu obsahuje Abhishek alebo skill obsahuje Java.

> db.firstCollection.find ({$ alebo: [{name: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "názov" : "Abhishek", "zručnosť" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "názov" : "Geekflare", "zručnosť" : "Java, MongoDB, NodeJS" }

Ako je vidieť, načíta oba záznamy. Môžete skúsiť použiť atribút name ako Geekflare a vidieť zmenu. Zobrazí sa iba dokument s tromi zručnosťami a názvom Geekflare.

Podobne je možné použiť $ a operátor s radom podmienok JSON, ako je uvedené vyššie.

Pre ďalšiu skupinu operátorov by sme mali vytvoriť ďalšiu kolekciu a pridať k nej niektoré záznamy pomocou príkazov uvedených nižšie.

> db.createCollection ( ‘studentmarks’);
{ "ok" : 1}
> db.studentmarks.insertMany ([{názov: ‘A’, ochranné známky: 20}, {názov: ‘B’, ochranné známky: 25}, {názov: ‘C’, ochranné známky: 22}, {názov: ‘D’, známky: 30}]);
{
"uznávaný" : true,
"insertedIds" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Ďalšou skupinou operátorov, ktorú použijeme, sú operátory porovnávania v dotaze. Porovnať hodnoty pomocou kritérií ako menej ako alebo väčší než alebo nerovná sa, používame príslušné operátory v hodnote, ktorú odovzdáme.

Príklad získania zoznamu študentov so známkami vyššími ako 22 je uvedený nižšie.

db.studentmarks.find ({známky: {$ GT: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "názov" : "B", "známky" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "názov" : "D", "známky" : 30}

Tu je $ gt väčší než v kritériách. Zobrazujú sa teda dokumenty so značkami viac ako 22. Podobne existujú aj ďalšie subjekty, ktoré sa môžu použiť. Sú uvedené nižšie.

operátor
použitie
príklad
$ eqSkontrolujte, či je hodnota rovnaká{Známky: {$ eq: 20}}
$ ltSkontrolujte, či je hodnota nižšia ako{značky: {$ lt: 20}}
$ GTESkontrolujte, či je hodnota väčšia alebo rovná{Známky: {$ GTE: 22}}
$ LTESkontrolujte, či je hodnota nižšia, alebo sa rovná{Známky: {$ LTE: 22}}
$ nieSkontrolujte, či sa hodnota nerovná{Známky: {$ nie: 22}}
dolárov v rokuSkontrolujte, či sa hodnota rovná jednej z hodnôt z poľa{Známky: {$ v: [20,22]}}
$ ninSkontrolujte, či sa hodnota nerovná žiadnej hodnote z poľa{Známky: {$ Nin: [22,25]}}

GUI pre MongoDB

V predchádzajúcej diskusii sme použili príkazový riadok na vykonanie našich dopytov v MongoDB.

Použitie príkazového riadku by mohlo byť náročné, pokiaľ ide o zložité otázky a väčšie množstvo údajov. Aby sa uľahčilo prezeranie údajov a vykonávanie dopytov, MongoDB vám poskytuje vynikajúci nástroj GUI s názvom kompas MongoDB..

Kompas MongoDB si môžete ľahko stiahnuť z internetu Stránky na stiahnutie MongoDB. Po stiahnutí a nainštalovaní programu MongoDB Compass spustite aplikáciu a uvítala by vás obrazovka podobná nižšie uvedenej obrazovke.

MongoDBCompass

Vzhľadom na to, že máte server MongoDB spustený, kliknite na tlačidlo Pripojiť s predvolenými podrobnosťami. Mali by ste sa prihlásiť a zobraziť zoznam dostupných databáz.

Kliknutím na databázu tutoriálu zobrazíte zoznam kolekcií v príručke tutorial db. Ako je uvedené nižšie, zobrazuje zoznam dostupných kolekcií v návode db.

Po kliknutí na kolekciu sa zobrazí zoznam dokumentov s potrebnými ovládacími prvkami na filtrovanie záznamov pomocou JSON, ako aj zariadenie na prezeranie dokumentov vo formáte JSON alebo tabuľkovom formáte podľa nášho pohodlia..

GUI tiež zjednodušuje pridávanie dokumentu. Všetko, čo musíte urobiť, je kliknúť na tlačidlo Vložiť dokument na obrazovke uvedenej nižšie. Otvorí sa malé dialógové okno s podrobnosťami o dokumente s automaticky vygenerovaným ID dokumentu.

MongoDBDocuments

GUI zjednodušuje množstvo operácií, ktoré môžu byť ťažké vykonať pomocou rozhrania príkazového riadku MongoDB.

záver

Podstatu NoSQL sme zachytili celým radom príkladov a porozumeli inštalácii, ako sa dokumenty líšia v porovnaní s typickým záznamom relačnej databázy. Môžete to tiež postúpiť učiť sa MongoDB od nuly online kurz.

A ak ste vývojár, možno vás bude zaujímať toto.

Tagy:

  • databázy

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map