Aflați care sunt MongoDB, ghidul de instalare și operarea de bază.


MongoDB NoSQL este în trend mai mult ca niciodată. Aveți o înțelegere necesară a acesteia?

Dacă nu, nu vă faceți griji, următoarele vă vor ajuta.

Introducere

Odată cu schimbarea paradigmei către conținut dinamic, cererea pentru baza de date No-SQL a crescut. Acest lucru a dat naștere la numeroase baze de date fără SQL MongoDB.

Clasificat ca bază de date fără SQL, MongoDB este o bază de date bazată pe documente care stochează datele sub formă de documente JSON cu un autogenerat identificat pentru fiecare document.

O bază de date fără SQL este o bază de date în care structura tabelului nu este fixată, spre deosebire de bazele de date SQL structurate. MongoDB stochează datele sub forma șirului JSON indiferent de numărul de atribute sau numele atributelor într-o coloană specifică.

Acest lucru permite dezvoltatorilor să efectueze rapid modificări ale entităților, fără a fi nevoie de modificări la nivelul bazei de date.

Instalarea MongoDB

MongoDB, la fel ca orice altă bază de date, este disponibil în mai multe variante, în funcție de nevoile de dezvoltare. Variantele au fost enumerate mai jos și pot fi utilizate sau descărcate din aceasta legătură

  • MongoDB Atlas – Baza de date ca serviciu
  • Server comunitar – Gratuit de utilizat pentru comunitatea de dezvoltatori
  • MongoDB Enterprise Edition – Versiunea comercială cu funcții suplimentare

Fiecare dintre acestea este complet compatibil cu fiecare sistem de operare. Pentru început, instalarea serverului comunitar, descărcați fișierul de instalare corespunzător conform sistemului dvs. de operare.

Procesul de instalare diferă ușor pentru fiecare sistem de operare și, prin urmare, vom parcurge separat fiecare instalație a sistemului de operare.

Instalarea în MacOS

Pentru a instala MongoDB în MacOS. Descărcați arhiva .tgz care conține binarele necesare în ea. La nearhivarea fișierului, ar trebui să puteți vedea o grămadă de binare localizate în cos pliant.

  • Mutați folderul de coș în locația dorită
  • Deschideți un terminal și schimbați directorul în directorul de coș menționat mai sus
  • Executați comanda de mai jos pentru a crea o bază de date la locația dorită.

$ ./mongod –dbpath / path-to-wish-directory /

În comanda de mai sus, înlocuiți calea către director cu calea dorită și serverul va fi pornit imediat ce se execută comanda.

Instalarea în Windows

Centrul de descărcare MongoDB oferă un program executabil .msi pachet pentru instalarea MongoDB în Windows. Instalarea în Windows este destul de simplă și se poate face folosind câteva comenzi după ce a fost descărcată configurarea.

  • Executați comenzile de mai jos pentru a instala MongoDB în Windows PC / server.

> cd / setup-folder /
> msiexec.exe / q / i .msi ^
installLocation ="C: \ Fișiere de program \ MongoDB \" ^
ADDLOCAL ="MonitoringTools, ImportExportTools, MiscellaneousTools"

Comenzile de mai sus te vor duce în directorul corespunzător și vor executa configurația pentru instalare la locația specificată. După instalare, trebuie să configurați calea implicită de stocare a bazei de date pentru MongoDB. Comanda de mai jos vă ajută să configurați același lucru

> md \ db \ data

Comanda de mai sus creează un director db / data în directorul în care se indică promptul de comandă în acest moment. În cazul în care trebuie să reconfigurați din nou baza de date, puteți utiliza mongod.exe cu dbpath argumentul prezentat mai jos:

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

Instalarea în Linux

Similar cu descărcările MacOS, variantele MongoDB pentru Linux sunt de asemenea disponibile sub forma unui set arhivat de binare. Procesul de instalare a MongoDB este destul de similar.

  • Mutați binarele în locația dorită
  • Deschideți terminalul în folder
  • Executați comanda de mai jos cu locația DB dorită

$ ./mongod –dbpath / path-to-wish-directory /

Crearea primei colecții

MongoDB stochează datele sub formă de documente JSON. Un grup de astfel de documentații este cunoscut colectiv ca o colecție în MongoDB. Astfel, o colecție este analogă unui tabel dintr-o bază de date relațională, în timp ce un document este analog unei înregistrări.

Pentru a stoca documente, mai întâi trebuie să creăm o colecție. Lucrul interesant despre o bază de date NoSQL este că spre deosebire de baza de date SQL, nu trebuie să specificați numele coloanelor sau tipurile de date din ea.

Primul pas către crearea unei colecții este crearea unei baze de date. Pentru a crea o bază de date și a vă conecta la aceasta folosind linia de comandă, executați comanda de mai jos din directorul principal de instalare MongoDB.

$ ./bin/mongo tutorial

Această comandă este utilizată pentru a porni conexiunea la baza de date și pentru a vă conecta simultan la baza de date tutorial. Va afișa o grămadă de linii în jurnal pentru a indica faptul că linia de comandă s-a conectat la baza de date MongoDB.

Mai jos a fost afișată o imagine de linie de comandă pentru a vă oferi o idee mai bună despre aceeași.

  • Pentru a crea o colecție, executați comanda de mai jos:

$ > db.createCollection ( ‘firstCollection’);

Așa se creează o colecție goală. Următorul pas este să inserați date și să efectuați unele prelucrări pe înregistrări folosind linia de comandă MongoDB.

Inserarea unui document în colecție

După cum am discutat mai sus, este posibil să introduceți aproape orice JSON în fiecare colecție MongoDB.

Să începem cu inserarea primului document JSON în firstCollection colecție creată mai sus.

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

Comanda de mai sus introduce un singur document JSON în primaCollection. Același lucru poate fi verificat folosind comanda prezentată mai jos:

> db.firstCollection.find ();

Comanda de mai sus are multiple utilizări în funcție de variația funcției find (). Când nu sunt specificate argumente cum este cazul comenzii de mai sus, preluează toate documentele disponibile din colecție.

Puteți introduce încă o înregistrare și încercați la fel. În acest sens, ieșirea comenzii de mai sus ar fi similară cu cea prezentată mai jos:

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

După cum se poate observa, există două înregistrări disponibile. Funcția find () ar putea fi utilizată cu ușurință pentru a filtra documentele pe baza unor parametri specifici. Să filtrăm documentul folosind atributul nume.

Procesul de filtrare este simplu și poate fi înțeles din comanda de mai jos:

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

Filtrul poate fi, de asemenea, utilizat cu mai multe atribute în JSON. Deși este posibil să adăugați orice număr de parametri la interogare, limitarea acestei abordări este aceea că se potrivește doar cu valoarea exactă a atributelor.

Filtrarea înregistrărilor folosind Regex

Pentru a executa un echivalent MongoDB al unei clauze similare MySQL, MongoDB folosește regex. Regex este o serie de caractere care formează un model care să se potrivească. Literalele regex sunt similare cu cele utilizate în Javascript.

Pentru colecția curentă, vom încerca să obținem datele corelând un model pentru atributul de abilitate. Comanda de mai jos primește lista de persoane cu abilitatea MongoDB. Astfel, va obține două înregistrări, deoarece ambele conțin șirul MongoDB.

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

Codul de mai sus afișează rezultatul a două șiruri diferite în forma regex. Prima interogare preia lista unui document în care atributul de abilitate conține cuvântul cheie MongoDB, în timp ce celălalt adună numai persoane calificate în Java.

Următoarea provocare în interogare pe baza criteriilor este interogarea cu o condiție OR sau AND.

Interogări complexe în MongoDB

După cum reiese din comenzile de mai sus, MongoDB unde clauzele funcționează pe JSON. Procesul de combinare a condițiilor depinde și de JSON în sine. MongoDB oferă operatorilor, cum ar fi $ sau, $, precum și $ să nu efectueze operațiunile de interogare relevante.

Să încercăm să obținem lista documentelor în care atributul nume conține Abhishek sau abilitatea conține Java.

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

După cum se vede, înregistrează ambele înregistrări. Ați putea încerca să utilizați atributul nume ca Geekflare și puteți vedea modificarea. Va fi afișat doar documentul cu trei abilități și nume Geekflare.

În mod similar, este posibil să utilizați $ și operatorul cu o serie de condiții JSON, așa cum este arătat mai sus.

Pentru următorul set de operatori, va trebui să creăm încă o colecție și să adăugăm unele înregistrări la aceasta folosind comenzile de mai jos.

> db.createCollection ( ‘studentmarks’);
{ "O.K" : 1}
> db.studentmarks.insertMany ([{name: ‘A’, mărcile: 20}, {name: ‘B’, mărcile: 25}, {name: ‘C’, mărcile: 22}, {name: ‘D’, mărcile: 30}]);
{
"recunoscut" : Adevărat,
"insertedIds" : [
objectId ("5b06e7b5c29a7184535e783c"),
objectId ("5b06e7b5c29a7184535e783d"),
objectId ("5b06e7b5c29a7184535e783e"),
objectId ("5b06e7b5c29a7184535e783f")
]
}

Următorul set de operatori pe care l-am folosi sunt operatorii de comparație din interogare. Pentru a compara valori folosind criterii precum mai puțin decât sau mai mare ca sau nu este egal cu, utilizăm operatorii relevanți în valoarea pe care o transmitem.

Un exemplu de obținere a unei liste de studenți cu note mai mari de 22 este prezentat mai jos.

db.studentmarks.find ({mărcile: {$ gt: 22}});
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783d"), "Nume" : "B", "mărci" : 25}
{ "_id" : ObjectId ("5b06e7b5c29a7184535e783f"), "Nume" : "D", "mărci" : 30}

$ Gt aici indică mai mare ca în criterii. Astfel, sunt afișate documentele cu mai mult de 22 de mărci. În mod similar, există și alți operatori care pot fi folosiți. Acestea sunt enumerate mai jos.

Operator
Utilizare
Exemplu
$ echivVerificați dacă valoarea este egală{mărcile: {$ eq: 20}}
$ ltVerificați dacă valoarea este mai mică de{mărci: {$ lt: 20}}
$ GTEVerificați dacă valoarea este mai mare sau egală cu{Mărcile: {$ GTE: 22}}
$ lteVerificați dacă valoarea este mai puțin mulțumitoare sau egală cu{Mărcile: {$ lte: 22}}
$ neVerificați dacă valoarea nu este egală cu{mărcile: {$ ne: 22}}
$ înVerificați dacă valoarea este egală cu oricare dintre valorile din tablou{Mărcile: {$ în: [20,22]}}
$ ninVerificați dacă valoarea nu este egală cu orice valoare din tablou{Mărcile: {$ nin: [22,25]}}

GUI pentru MongoDB

În discuția de mai sus, am folosit o linie de comandă pentru a executa interogările noastre în MongoDB.

Utilizarea liniei de comandă ar putea fi dificilă când vine vorba de interogări complexe și de o grămadă mai mare de date. Pentru a ușura vizualizarea datelor și a executa interogările, MongoDB vă oferă un instrument excelent GUI numit MongoDB Compass.

Busola MongoDB poate fi descărcată cu ușurință de pe Site-ul de descărcări MongoDB. După ce ai descărcat și instalat MongoDB Compass, pornește aplicația și vei primi un ecran similar cu ecranul prezentat mai jos.

MongoDBCompass

Având în vedere că aveți serverul MongoDB în funcțiune, faceți clic pe conectați cu detaliile implicite. Ar trebui să fiți autentificat și să arătați lista bazelor de date disponibile.

Faceți clic pe baza de date tutorial pentru a verifica lista colecțiilor din db tutorial. După cum se arată mai jos, acesta afișează lista colecțiilor disponibile în db-ul tutorialului.

Când faceți clic pe colecție, acesta afișează lista de documente cu controalele necesare pentru a filtra înregistrările folosind un JSON, precum și facilitatea de a vizualiza documentele într-un format JSON sau în format tabular, în funcție de comoditatea noastră.

GUI simplifică adăugarea unui document. Tot ce trebuie să faceți este să faceți clic pe butonul Insert Document din ecranul prezentat mai jos. Acesta deschide un mic dialog care solicită detaliile documentului cu un ID de document generat automat.

MongoDBDocuments

GUI simplifică o mulțime de operații care pot fi dificil de efectuat folosind interfața liniei de comandă MongoDB.

Concluzie

Am capturat esența NoSQL cu o varietate de exemple și am înțeles instalarea, modul în care documentele sunt diferite în comparație cu o înregistrare tipică a bazei de date relaționale. De asemenea, puteți face referire la acest lucru învățarea MongoDB de la zero curs online.

Și, dacă ești dezvoltator, atunci poți fi interesat Aceasta.

ETICHETE:

  • Bază de date

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me