Begin met MongoDB vir die beginner

Lees wat MongoDB, installasiegids en basiese werking is.


MongoDB NoSQL is meer as ooit tevore. Het u die nodige begrip daarvan??

Moenie bekommerd wees nie, so nie, die volgende sal u help.

inleiding

Met die webwerf wat ‘n paradigmaskuif na dinamiese inhoud neem, het die vraag na No-SQL-databasis gestyg. Dit het aanleiding gegee tot talle No-SQL-databasisse soos MongoDB.

MongoDB is geklassifiseer as ‘n geen-SQL-databasis, en is ‘n databasis gebaseerde databasis wat die gegewens in die vorm van JSON-dokumente stoor, met ‘n outo-genereerde identifikasie vir elke dokument.

‘N Geen-SQL-databasis is ‘n databasis waar die tabelstruktuur nie vas is nie, anders as gestruktureerde SQL-databasisse. MongoDB stoor die data in die vorm van JSON-string, ongeag die aantal kenmerke of die naam van die eienskappe in ‘n spesifieke kolom.

Dit stel die ontwikkelaars in staat om vinnig veranderinge aan te bring in die entiteite sonder dat daar op die databasisvlak veranderings nodig is.

Installeer MongoDB

MongoDB, net soos elke ander databasis, is beskikbaar in verskeie variante, afhangende van die ontwikkelingsbehoeftes. Die variante is hieronder gelys en kan hiervan gebruik of afgelaai word skakel

  • MongoDB Atlas – databasis as ‘n diens
  • Community Server – Gratis om te gebruik vir die gemeenskap van ontwikkelaars
  • MongoDB Enterprise Edition – Die kommersiële weergawe met bykomende funksies

Elkeen is volledig versoenbaar met elke bedryfstelsel. Om mee te begin, die installering van ‘n gemeenskapsbediener, laai die betrokke installasielêer volgens u bestuurstelsel af.

Die installasieproses verskil effens vir elke bedryfstelsel, en daarom sal ons elke installasie van die bedryfstelsel afsonderlik deurgaan.

Installeer in MacOS

Om MongoDB in MacOS te installeer. Laai die .tgz-argief af met die nodige binaries daarin. As u die lêer ontrafel, moet u ‘n klomp binêres in die bin gids.

  • Skuif die vouer van die bak na die gewenste plek
  • Maak ‘n terminale oop en verander die gids na die vullishouer soos hierbo genoem
  • Voer die onderstaande opdrag uit om ‘n databasis op die gewenste plek te skep.

$ ./mongod – dbpath / pad-na-gewenste gids /

In die bostaande opdrag, vervang die pad na die gids met die gewenste pad en die bediener sal begin word sodra die opdrag uitgevoer is.

Installeer in Windows

MongoDB aflaai sentrum bied ‘n uitvoerbare .MSI pakket om MongoDB in Windows te installeer. Die installering in Windows is eenvoudig en kan met behulp van enkele opdragte gedoen word sodra die installasie afgelaai is.

  • Voer die onderstaande opdragte uit om MongoDB op Windows PC / server te installeer.

> cd / setup-map /
> msiexec.exe / q / i .msi ^
installeringligging ="C: \ Programlêers \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Bogenoemde opdragte neem u na die ooreenstemmende gids en voer die opstelling vir installasie op die gespesifiseerde plek uit. Sodra dit geïnstalleer is, moet u die standaard databasisbergingspad vir MongoDB opstel. Die onderstaande opdrag help u om dieselfde te konfigureer

> md \ db \ data

Bogenoemde opdrag skep ‘n db / datavouer in die gids waarna die opdrag gevra word. As u weer die databasis moet herkonfigureer, kan u die mongod.exe met die dbpath argument soos hieronder getoon:

>"C: \ Programlêers \ MongoDB \ bin \ mongod.exe" –dbpath d: \ tutoriaal \ mongodb \ data

Installeer in Linux

Soortgelyk aan die MacOS-aflaaie, is MongoDB vir Linux-variante ook beskikbaar in die vorm van ‘n geargiveerde klomp binaries. Die proses om MongoDB te installeer is baie dieselfde.

  • Skuif die binaries na die gewenste plek
  • Maak die terminale oop in die lêergids
  • Voer die onderstaande opdrag uit met die gewenste DB-plek

$ ./mongod – dbpath / pad-na-gewenste gids /

Skep die eerste versameling

MongoDB stoor die data in die vorm van JSON-dokumente. ‘N Groep sulke dokumente staan ​​bekend as ‘n versameling in MongoDB. Dus is ‘n versameling analoog aan ‘n tabel in ‘n verhoudingsdatabasis, terwyl ‘n dokument analoog aan ‘n plaat is.

Om dokumente te stoor, moet ons eers ‘n versameling skep. Die opwindende ding van ‘n NoSQL-databasis is dat u, in teenstelling met SQL-databasis, nie die kolomname of datatipes daarin hoef te spesifiseer nie.

Die eerste stap in die rigting van die skep van ‘n versameling is om ‘n databasis te skep. Voer die onderstaande opdrag uit die MongoDB-installasie-tuisgids uit om ‘n databasis te skep en met die opdragreël daaraan te koppel.

$ ./bin/mongo tutoriaal

Hierdie opdrag word gebruik om die databasisverbinding te begin en gelyktydig aan die tutoriaaldatabasis te koppel. Dit wys ‘n klomp reëls in die log om aan te dui dat die opdragreël gekoppel is aan die MongoDB-databasis.

Hier is ‘n voorbeeld van ‘n voorbeeld van die opdragreël om ‘n beter idee te gee oor dieselfde.

  • Voer die onderstaande opdrag uit om ‘n versameling te skep:

$ > db.createCollection ( ‘firstCollection’);

Dit is hoe ‘n leë versameling geskep word. Die volgende stap is om data in te voeg en verwerking op die rekords te doen met behulp van die MongoDB-opdragreël.

Voeg ‘n dokument in die versameling in

Soos hierbo bespreek, is dit moontlik om byna enige JSON in elke MongoDB-versameling in te voeg.

Laat ons begin met die invoeging van die eerste JSON-dokument in die firstCollection versameling hierbo geskep.

> db.firstCollection.insertOne ({name: ‘Abhishek, vaardigheid:’ MongoDB ‘});

Bogenoemde opdrag plaas ‘n enkele JSON-dokument in die firstCollection. Dit kan bevestig word deur die opdrag hieronder te gebruik:

> db.firstCollection.find ();

Die bogenoemde opdrag het verskeie gebruike, afhangende van die variasie van die funksie find (). As daar nie argumente gespesifiseer word soos wat die geval is met die bogenoemde opdrag nie, haal dit al die beskikbare dokumente uit die versameling.

U kan nog een rekord invoeg en dieselfde probeer. As u dit doen, sal die afvoer van bogenoemde opdrag dieselfde wees as die onderstaande:

> db.firstCollection.find ();
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }

Soos gesien kan word, is daar twee beskikbare rekords wat vertoon word. Die soekfunksie () kan maklik gebruik word om die dokumente te filter op grond van spesifieke parameters. Laat ons die dokument filter met behulp van naamattribuut.

Die filterproses is eenvoudig en dit kan uit die onderstaande opdrag verstaan ​​word:

db.firstCollection.find ({name: ‘Abhishek’});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }

Die filter kan ook met verskeie attribute in die JSON gebruik word. Alhoewel dit moontlik is om ‘n aantal parameters by te voeg tot die navraag, is die beperking van hierdie benadering dat dit slegs ooreenstem met die presiese waarde van eienskappe.

Filtrering van rekords met Regex

Om ‘n MongoDB-ekwivalent van ‘n MySQL-agtige klousule uit te voer, gebruik MongoDB regex. Regex is ‘n reeks karakters wat ‘n patroon vorm om bymekaar te pas. Die regex literals is soortgelyk aan die dié wat in Javascript gebruik word.

Vir die huidige versameling sal ons probeer om die data te haal deur ‘n patroon vir die vaardigheidseienskap te pas. Die onderstaande opdrag kry die lys mense met die vaardigheid MongoDB. Dus sal dit twee rekords haal, aangesien albei die string MongoDB bevat.

> db.firstCollection.find ({vaardigheid. /.* MongoDB * /});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }
> db.firstCollection.find ({vaardigheid. /.* Java * /});
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "GeekFlare", "vaardigheid" : "Java, MongoDB, NodeJS" }

Bogenoemde kode vertoon die resultaat van twee verskillende snare in die regex-vorm. Die eerste navraag haal die lys van ‘n dokument op waar die vaardigheidskenmerk die sleutelwoord MongoDB bevat, terwyl die ander een slegs mense met vaardigheid in Java gaan haal..

Die volgende uitdaging in navraag gebaseer op kriteria is om navraag te doen met ‘n OF- of EN-voorwaarde.

Komplekse navrae in MongoDB

Soos blyk uit bogenoemde opdragte, MongoDB waar klousules op JSON werk. Die proses om toestande te kombineer is ook afhanklik van JSON self. MongoDB bied operateurs soos $ of, $ en sowel as $ om nie die betrokke navraagbewerkings uit te voer nie.

Laat ons probeer om die lys van dokumente te kry waar die naamkenmerk Abhishek bevat of die vaardigheid Java bevat.

> db.firstCollection.find ({$ of: [{naam: ‘Abhishek’}, {skill: /.* Java. * /}]});
{ "_id" : ObjectId ("5b043a32c29a7184535e783a"), "naam" : "Abhishek", "vaardigheid" : "MongoDB" }
{ "_id" : ObjectId ("5b05b4f0c29a7184535e783b"), "naam" : "Geekflare", "vaardigheid" : "Java, MongoDB, NodeJS" }

Soos gesien kan word, haal dit albei die rekords op. U kan probeer om die naamattribuut as Geekflare te gebruik en die verandering te sien. Slegs die dokument met drie vaardighede en die naam Geekflare sal vertoon word.

Net so is dit moontlik om $ en operator te gebruik met ‘n JSON-reeks voorwaardes soos hierbo getoon.

Vir die volgende stel bestuurders, moet ons nog een versameling skep en ‘n paar rekords daarby voeg met behulp van die opdragte hieronder.

> db.createCollection ( ‘studentmarks’);
{ "ok" : 1}
> db.studentmarks.insertMany ([{name: ‘A’, punte: 20}, {name: ‘B’, punte: 25}, {name: ‘C’, punte: 22}, {name: ‘D’, punte: 30}]);
{
"erken" : waar,
"insertedIds" : [
ObjectId ("5b06e7b5c29a7184535e783c"),
ObjectId ("5b06e7b5c29a7184535e783d"),
ObjectId ("5b06e7b5c29a7184535e783e"),
ObjectId ("5b06e7b5c29a7184535e783f")
]
}

Die volgende operateur wat ons sal gebruik, is vergelykingsoperateurs in die navraag. Om waardes te vergelyk met behulp van kriteria soos minder as of groter as of nie gelyk aan, ons gebruik die betrokke operateurs in die waarde wat ons slaag.

Hieronder word ‘n voorbeeld van ‘n lys van studente met punte hoër as 22 aangetoon.

db.studentmarks.find ({punte: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "naam" : "B", "punte" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "naam" : "D", "punte" : 30}

Die $ gt hier dui aan groter as in die kriteria. Dus word die dokumente met meer as 22 punte getoon. Daar is ook ander operateurs wat gebruik kan word. Dit word hieronder gelys.

operateur
Gebruik
voorbeeld
$ EQKyk of die waarde gelyk is{Punte: {$ EQ: 20}}
$ DitKyk of die waarde kleiner is as{punte: {$ lt: 20}}
$ GTEKyk of die waarde groter is as of gelyk aan{Punte: {$ GTE: 22}}
$ LTEKyk of die waarde minder bedank of gelyk is aan{Punte: {$ LTE: 22}}
$ neKyk of die waarde nie gelyk is aan{Punte: {$ ne: 22}}
$ inKyk of die waarde gelyk is aan een van die waardes in die skikking{Punte: {$ in: [20,22]}}
$ NinKyk of die waarde nie gelyk is aan enige waarde in die skikking nie{Punte: {$ nin: [22,25]}}

GUI vir MongoDB

In die bespreking hierbo het ons ‘n opdragreël gebruik om ons navrae in MongoDB uit te voer.

Die gebruik van opdragreëls kan uitdagend wees as dit kom by ingewikkelde navrae en ‘n groter klomp data. MongoDB bied u ‘n uitstekende GUI-instrument genaamd die MongoDB-kompas om dit makliker te maak om die data te bekyk en die navrae uit te voer..

MongoDB kompas kan maklik afgelaai word vanaf die MongoDB aflaai webwerf. Nadat u MongoDB Compass afgelaai en geïnstalleer het, begin die aansoek, en u word verwelkom deur ‘n skerm soortgelyk aan die skerm hieronder..

MongoDBCompass

As u die MongoDB-bediener aan die gang hou, klik dan op Verbind met die standaardbesonderhede. U moet ingeteken wees en die lys met beskikbare databasisse vertoon.

Klik op die tutoriaaldatabasis om na die lys versamelings in die tutoriaal-db te kyk. Soos hieronder getoon, vertoon dit die lys met beskikbare versamelings in die handleiding db.

As u op die versameling klik, vertoon dit die lys van dokumente met die nodige kontroles om die rekords te filter met behulp van ‘n JSON, sowel as die fasiliteit om die dokumente in ‘n JSON- of tabelformaat te besigtig volgens ons gemak..

Die GUI maak dit ook makliker om ‘n dokument toe te voeg. Al wat u hoef te doen is om op die Insert Document-knoppie op die onderstaande skerm te klik. Dit open ‘n klein dialoog waarin die dokumentinligting gevra word met ‘n outomaties gegenereerde dokument-ID.

MongoDBDocuments

GUI vereenvoudig baie bewerkings wat moeilik kan wees om uit te voer met behulp van die MongoDB-opdragreël-koppelvlak.

Afsluiting

Ons het die kern van NoSQL vasgelê met ‘n verskeidenheid voorbeelde en die installering verstaan, hoe dokumente verskil in vergelyking met ‘n tipiese relasionele databasisrekord. U kan dit ook verwys leer MongoDB van nuuts af aanlyn kursus.

En as u ‘n ontwikkelaar is, sal u dalk daarin belangstel hierdie een.

Tags:

  • databasis

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