Darbo su „MongoDB for Beginner“ pradžia

Sužinokite, kas yra „MongoDB“, diegimo vadovas ir pagrindinės operacijos.


„MongoDB NoSQL“ yra tendencija labiau nei bet kada. Ar turite reikiamą supratimą apie tai?

Nesijaudinkite, jei ne, tai jums padės.

Įvadas

Kai svetainė perėjo prie dinaminio turinio, pakilo No-SQL duomenų bazės poreikis. Tai sukūrė daugybę No-SQL duomenų bazių, tokių kaip „MongoDB“.

„MongoDB“, klasifikuojama kaip SQL duomenų bazė, yra dokumentų pagrindu sukurta duomenų bazė, kurioje saugomi duomenys JSON dokumentų pavidalu, o kiekvieno dokumento duomenys automatiškai sugeneruojami.

Ne SQL duomenų bazė yra duomenų bazė, kurioje lentelės struktūra nėra fiksuota, skirtingai nei struktūrizuotos SQL duomenų bazės. „MongoDB“ saugo duomenis JSON eilutės forma, nepriklausomai nuo atributų skaičiaus ar atributų pavadinimo konkrečiame stulpelyje.

Tai leidžia kūrėjams greitai atlikti pakeitimus subjektuose, nereikia jokių pakeitimų duomenų bazės lygyje.

„MongoDB“ diegimas

„MongoDB“, kaip ir visos kitos duomenų bazės, yra keliais variantais, atsižvelgiant į kūrimo poreikius. Variantai buvo išvardyti žemiau ir juos galima naudoti arba atsisiųsti iš jo saitas

  • „MongoDB Atlas“ – duomenų bazė kaip paslauga
  • Bendruomenės serveris – laisvas naudoti kūrėjų bendruomenei
  • „MongoDB Enterprise Edition“ – komercinė versija su papildomomis funkcijomis

Kiekvienas iš jų yra visiškai suderinamas su visomis operacinėmis sistemomis. Pirmiausia pradėkite diegti bendruomenės serverį, atsisiųskite atitinkamą diegimo failą, kaip numatyta jūsų operacinėje sistemoje.

Kiekvienos operacinės sistemos diegimo procesas šiek tiek skiriasi, todėl kiekvieną operacinės sistemos diegimą turėtume atlikti atskirai.

Diegimas „MacOS“

Norėdami įdiegti „MongoDB“ „MacOS“. Atsisiųskite .tgz archyvą, kuriame yra reikalingi dvejetainiai failai. Panaikindami failą, turėtumėte galėti peržiūrėti dvejetainį failą, esantį šiukšliadėžę aplankas.

  • Perkelkite šiukšliadėžės aplanką į norimą vietą
  • Atidarykite terminalą ir pakeiskite katalogą į aukščiau paminėtą šiukšliadėžių katalogą
  • Vykdykite žemiau pateiktą komandą norėdami sukurti duomenų bazę norimoje vietoje.

$ ./mongod –dbpath / kelias į norimą katalogą /

Aukščiau pateiktoje komandoje pakeiskite kelią į katalogą norimu keliu ir serveris bus paleistas iškart, kai komanda bus įvykdyta.

Diegimas sistemoje Windows

„MongoDB“ atsisiuntimo centras teikia vykdomąjį failą .msi paketas, skirtas „MongoDB“ įdiegti į „Windows“. Įdiegimas „Windows“ yra gana paprastas ir gali būti atliktas naudojant keletą komandų, kai atsisiunčiama sąranka.

  • Norėdami įdiegti „MongoDB“ į „Windows PC“ / serverį, vykdykite toliau pateiktas komandas.

> CD / sąrankos aplankas /
> msiexec.exe / q / i .msi ^
ĮRENGIMAS ="C: \ Programos failai \ MongoDB \" ^
PRIDĖTI ="„MonitoringTools“, „ImportExportTools“, „MiscellaneousTools“"

Aukščiau pateiktos komandos nukels jus į atitinkamą katalogą ir atliks diegimą nustatytoje vietoje. Įdiegę turite sukonfigūruoti numatytąjį „MongoDB“ duomenų bazės saugojimo kelią. Žemiau esanti komanda padeda jums sukonfigūruoti tą patį

> md \ db \ duomenys

Aukščiau pateikta komanda sukuria „db / data“ aplanką kataloge, kur komandų eilutė yra nukreipta į šiuo metu. Jei jums reikia dar kartą sukonfigūruoti duomenų bazę, galite naudoti mongod.exe su dbpath argumentas, kaip parodyta žemiau:

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

Diegimas „Linux“

Panašiai kaip „MacOS“ atsisiuntimus, „MongoDB for Linux“ variantus taip pat galima įsigyti archyvuotos dvejetainių failų grupės pavidalu. „MongoDB“ diegimo procesas yra gana panašus.

  • Perkelkite dvejetainius failus į norimą vietą
  • Atidarykite terminalą aplanke
  • Vykdykite žemiau pateiktą komandą nurodydami norimą DB vietą

$ ./mongod –dbpath / kelias į norimą katalogą /

Sukuriama pirmoji kolekcija

„MongoDB“ saugo duomenis JSON dokumentų forma. Tokių dokumentų grupė bendrai vadinama „MongoDB“ kolekcija. Taigi, kolekcija yra analogiška lentelei reliacinėje duomenų bazėje, tuo tarpu dokumentas yra analogiškas įrašui.

Norėdami saugoti dokumentus, pirmiausia turime sukurti kolekciją. Įdomus „NoSQL“ duomenų bazės dalykas yra tas, kad skirtingai nuo SQL duomenų bazės, joje nereikia nurodyti stulpelių pavadinimų ar duomenų tipų.

Pirmasis žingsnis kuriant kolekciją yra duomenų bazės sukūrimas. Norėdami sukurti duomenų bazę ir prisijungti prie jos naudodami komandinę eilutę, vykdykite žemiau pateiktą komandą iš „MongoDB“ diegimo namų katalogo.

$ ./bin/mongo pamoka

Ši komanda naudojama norint užmegzti duomenų bazės ryšį ir tuo pačiu metu prisijungti prie mokymo programos duomenų bazės. Žurnale bus parodyta krūva eilučių, nurodančių, kad komandinė eilutė prijungta prie „MongoDB“ duomenų bazės.

Komandinės eilutės paveikslėlio pavyzdys buvo pateiktas žemiau, kad galėtumėte geriau suprasti tą patį.

  • Norėdami sukurti kolekciją, vykdykite žemiau pateiktą komandą:

Dolerių > db.createCollection (‘pirmoji kolekcija’);

Taip sukuriama tuščia kolekcija. Kitas žingsnis – įterpti duomenis ir šiek tiek apdoroti įrašus naudojant MongoDB komandinę eilutę.

Dokumento įdėjimas į kolekciją

Kaip aptarta aukščiau, į kiekvieną „MongoDB“ kolekciją galima įterpti beveik bet kurį JSON.

Pradėkime nuo pirmojo JSON dokumento įdėjimo į „firstCollection“ kolekcija, sukurta aukščiau.

> db.firstCollection.insertOne ({vardas: ‘Abhishek’, įgūdis: ‘MongoDB’});

Aukščiau pateikta komanda įterpia vieną JSON dokumentą į pirmą kolekciją. Tą patį galima patvirtinti naudojant žemiau pateiktą komandą:

> db.firstCollection.find ();

Aukščiau pateikta komanda naudojama kelis kartus, atsižvelgiant į funkcijos rasti () variantą. Kai nenurodomi jokie argumentai, kaip tai daroma aukščiau pateiktoje komandoje, ji nuskaito visus turimus dokumentus iš kolekcijos.

Galite įterpti dar vieną įrašą ir išbandyti tą patį. Tai darant, aukščiau pateiktos komandos išėjimas bus panašus į pateiktą žemiau:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "vardas" : "Abhishekas", "įgūdis" : "„MongoDB“" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "vardas" : "„GeekFlare“", "įgūdis" : "„Java“, „MongoDB“, „NodeJS“" }

Kaip matyti, yra du galimi įrašai. Funkcija „rasti ()“ galėtų būti lengvai naudojama filtruoti dokumentus pagal konkrečius parametrus. Filtruokime dokumentą naudodami vardo atributą.

Filtravimo procesas yra paprastas ir jį galima būtų suprasti iš žemiau pateiktos komandos:

db.firstCollection.find ({vardas: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "vardas" : "Abhishekas", "įgūdis" : "„MongoDB“" }

Filtras taip pat gali būti naudojamas su keliais JSON atributais. Nors į užklausą galima įtraukti bet kokį parametrų skaičių, šis metodas ribojamas tuo, kad jis atitinka tik tikslią atributų vertę..

Įrašų filtravimas naudojant „Regex“

„MongoDB“ naudoja „MySQL“ tipo sakinio „MongoDB“ atitikmenį regex. „Regex“ yra simbolių serija, formuojanti suderinamą modelį. Regexo rašmenys yra panašūs į naudojami „Javascript“.

Dabartinei kolekcijai mes stengsimės gauti duomenis, suderindami įgūdžių atributo modelį. Žemiau pateiktoje komandoje pateikiamas žmonių, turinčių „MongoDB“ įgūdžių, sąrašas. Taigi, jis gaus du įrašus, nes abu turi eilutę „MongoDB“.

> db.firstCollection.find ({įgūdis: /.* MongoDB. * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "vardas" : "Abhishekas", "įgūdis" : "„MongoDB“" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "vardas" : "„GeekFlare“", "įgūdis" : "„Java“, „MongoDB“, „NodeJS“" }
> db.firstCollection.find ({įgūdis: /.* Java. * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "vardas" : "„GeekFlare“", "įgūdis" : "„Java“, „MongoDB“, „NodeJS“" }

Aukščiau pateiktas kodas rodo dviejų skirtingų eilutės rezultatą regex formoje. Pirmojoje užklausoje pateikiamas dokumento, kuriame įgūdžių atribute yra raktinis žodis MongoDB, sąrašas, o kitoje pateikiami tik „Java“ įgūdžius turintys žmonės..

Kitas uždavinys atliekant užklausas pagal kriterijus yra užklausa su sąlyga ARBA arba IR.

Sudėtingos užklausos „MongoDB“

Kaip matyti iš aukščiau pateiktų komandų, „MongoDB“, kur išlygos veikia JSON. Sąlygų derinimo procesas taip pat priklauso nuo paties JSON. „MongoDB“ suteikia tokiems operatoriams kaip $ arba, $ ir taip pat $ nedaryti atitinkamų užklausų operacijų.

Pabandykime gauti dokumentų sąrašą, kuriame vardo atribute yra Abhishek arba įgūdyje yra Java.

> db.firstCollection.find ({$ arba: [{vardas: ‘Abhishek’}, {įgūdis: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "vardas" : "Abhishekas", "įgūdis" : "„MongoDB“" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "vardas" : "Geekflare", "įgūdis" : "„Java“, „MongoDB“, „NodeJS“" }

Kaip matyti, jis surenka abu įrašus. Galite pabandyti naudoti pavadinimo atributą kaip „Geekflare“ ir pamatyti pakeitimą. Bus rodomas tik trijų įgūdžių turintis dokumentas ir vardas „Geekflare“.

Panašiai galima naudoti $ ir operatorių su JSON sąlygų masyvu, kaip parodyta aukščiau.

Kitam operatorių rinkiniui mums reikės sukurti dar vieną kolekciją ir pridėti prie jos keletą įrašų, naudojant toliau pateiktas komandas.

> db.createCollection (‘studentų pažymiai’);
{ "Gerai" : 1}
> db.studentmarks.insertMany ([{vardas: ‘A’, ženklai: 20}, {vardas: ‘B’, žymenys: 25}, {vardas: ‘C’, ženklai: 22}, {vardas: ‘D’, balų: 30}]);
{
"pripažino" : tiesa,
"įterptos ID" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Kitas operatorių rinkinys, kurį naudosime, yra palyginimo operatoriai užklausoje. Norėdami palyginti vertes, naudodami tokius kriterijus kaip mažiau nei arba geresnis negu arba nelygus, mes naudojame atitinkamus operatorius verte, kurią mes perduodame.

Žemiau pateiktas studentų, kurių pažymiai yra didesni nei 22, sąrašo sudarymo pavyzdys.

db.studentmarks.find ({žymės: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "vardas" : "B", "žymių" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "vardas" : "D", "žymių" : 30}

Čia USD gt rodo geresnis negu kriterijuose. Taigi dokumentai, pažymėti daugiau nei 22, yra rodomi. Panašiai yra ir kiti operatoriai, kuriuos galima naudoti. Jie yra išvardyti žemiau.

operatorius
Naudokite
Pavyzdys
USD ekvPatikrinkite, ar vertė lygi{ženklai: {$ eq: 20}}
$ ltPatikrinkite, ar vertė yra mažesnė nei{ženklai: {$ lt: 20}}
USD gtePatikrinkite, ar vertė yra didesnė ar lygi{ženklai: {$ gte: 22}}
USD ltePatikrinkite, ar vertė yra mažesnė už ačiū, ar lygi{ženklai: {$ lte: 22}}
$ nePatikrinkite, ar vertė nėra lygi{ženklai: {$ ne: 22}}
USD įPatikrinkite, ar reikšmė lygi nė vienai iš masyvo verčių{ženklai: {$ in: [20,22]}}
Nin $Patikrinkite, ar reikšmė nėra lygi jokiai masyvo reikšmei{ženklai: {$ nin: [22,25]}}

„MongoDB“ GUI

Aukščiau pateiktoje diskusijoje mes naudojome komandinę eilutę vykdydami užklausas „MongoDB“.

Naudoti komandinę eilutę gali būti sudėtinga, kai reikia sudėtingų užklausų ir didesnės krūvos duomenų. Kad būtų lengviau peržiūrėti duomenis ir vykdyti užklausas, „MongoDB“ suteikia jums puikų GUI įrankį, vadinamą „MongoDB Compass“..

„MongoDB“ kompasą galima lengvai atsisiųsti iš „MongoDB“ atsisiuntimų svetainė. Kai atsisiųsite ir įdiegsite „MongoDB Compass“, paleiskite programą ir jus pasitiks ekranas, panašus į žemiau pateiktą ekraną..

„MongoDBCompass“

Atsižvelgiant į tai, kad turite „MongoDB“ serverį ir paleisite jį, spustelėkite prisijungti, nurodydami numatytąją informaciją. Turėtumėte būti prisijungę ir parodyti turimų duomenų bazių sąrašą.

Spustelėkite mokomųjų duomenų bazę, norėdami sužinoti kolekcijos sąrašą vadove db. Kaip parodyta žemiau, jis rodo galimų kolekcijų sąrašą vadovo db.

Spustelėjus kolekciją, rodomas dokumentų sąrašas su reikiamais valdikliais, kad būtų galima filtruoti įrašus naudojant JSON, taip pat galimybė peržiūrėti dokumentus JSON formatu arba lentelių formatu, kaip mums patogu..

GUI taip pat palengvina dokumento pridėjimą. Viskas, ką jums reikia padaryti, tai spustelėkite mygtuką Įterpti dokumentą žemiau pateiktame ekrane. Atidaromas nedidelis dialogo langas, kuriame prašoma pateikti išsamią dokumento informaciją su automatiškai sukurtu dokumento ID.

„MongoDB“ dokumentai

GUI supaprastina daugybę operacijų, kurias gali būti sunku atlikti naudojant MongoDB komandinės eilutės sąsają.

Išvada

Mes užfiksavome „NoSQL“ esmę įvairiais pavyzdžiais ir supratome diegimą, kuo skiriasi dokumentai, palyginti su tipiniu reliacinės duomenų bazės įrašu. Taip pat galite kreiptis mokytis „MongoDB“ nuo nulio internetinis kursas.

Ir jei esate kūrėjas, tada jus gali sudominti šitas.

ŽENKLAI:

  • Duomenų bazė

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