de Navindu Jayatilake

Cum să începeți cu MongoDB în 10 minute

Cum sa incepeti cu MongoDB in 10 minute

MongoDB este o bază de date NoSQL bogată orientată către documente.

Dacă sunteți un începător complet la NoSQL, vă recomand să aruncați o privire rapidă la mine Articol NoSQL publicat anterior.

Astăzi, am vrut să împărtășesc câteva lucruri de bază despre comenzile MongoDB, cum ar fi interogarea, filtrarea datelor, ștergerea, actualizarea și așa mai departe.

Bine, destule discuții, să ne apucăm de treabă!

Configurare?

Pentru a lucra cu MongoDB, mai întâi trebuie să instalați MongoDB pe computer. Pentru a face acest lucru, vizitați centrul oficial de descărcare și descărcați versiunea pentru sistemul dvs. de operare specific. Aici am folosit Windows.

După descărcarea configurării serverului comunității MongoDB, veți trece printr-un proces de instalare „următor după următor”. După ce ați terminat, mergeți la unitatea C în care ați instalat MongoDB. Mergeți la fișierele programului și selectați directorul MongoDB.

C: -> Program Files -> MongoDB -> Server -> 4.0(version) -> bin

În directorul bin, veți găsi o pereche interesantă de fișiere executabile.

  • mongod
  • mongo

Să vorbim despre aceste două fișiere.

mongod înseamnă „Mongo Daemon”. mongod este un proces de fundal folosit de MongoDB. Scopul principal al mongod este de a gestiona toate sarcinile serverului MongoDB. De exemplu, acceptarea cererilor, răspunsul la client și gestionarea memoriei.

mongo este un shell de linie de comandă care poate interacționa cu clientul (de exemplu, administratorii de sistem și dezvoltatorii).

Acum să vedem cum putem pune în funcțiune acest server. Pentru a face acest lucru pe Windows, mai întâi trebuie să creați câteva directoare în unitatea C. Deschideți promptul de comandă în unitatea C și efectuați următoarele:

C:> mkdir data/dbC:> cd dataC:> mkdir db

Scopul acestor directoare este că MongoDB necesită un folder pentru a stoca toate datele. Calea implicită a directorului de date MongoDB este /data/db pe unitate. Prin urmare, este necesar să oferim acele directoare ca așa.

Dacă porniți serverul MongoDB fără aceste directoare, probabil că veți vedea următoarea eroare:

1611879249 358 Cum sa incepeti cu MongoDB in 10 minute
încercarea de a porni serverul mongodb fără directoare data db

După crearea celor două fișiere, mergeți din nou la folderul bin pe care îl aveți în directorul mongodb și deschideți shell-ul în interiorul acestuia. Rulați următoarea comandă:

mongod

Voilà! Acum serverul nostru MongoDB este în funcțiune! ?

Pentru a lucra cu acest server, avem nevoie de un mediator. Deci, deschideți o altă fereastră de comandă în folderul bind și rulați următoarea comandă:

mongo

După executarea acestei comenzi, navigați la shell-ul pe care am rulat comanda mongod (care este serverul nostru). La final veți vedea un mesaj „conexiune acceptată”. Asta înseamnă că instalarea și configurarea noastră au succes!

Pur și simplu rulați în coaja mongo:

db
1611879249 386 Cum sa incepeti cu MongoDB in 10 minute
inițial aveți un db numit „test”

Configurarea variabilelor de mediu

Pentru a economisi timp, puteți configura variabilele de mediu. În Windows, acest lucru se face urmând meniurile de mai jos:

Advanced System Settings -> Environment Variables -> Path(Under System Variables) -> Edit

Pur și simplu copiați calea folderului nostru bin și apăsați OK! În cazul meu este C:Program FilesMongoDBServer4.0bin

Acum ești gata!

Lucrul cu MongoDB

Există o grămadă de interfețe grafice (interfață grafică pentru utilizator) pentru a lucra cu serverul MongoDB, cum ar fi MongoDB Compass, Studio 3T și așa mai departe.

Acestea oferă o interfață grafică, astfel încât să puteți lucra cu ușurință cu baza de date și să efectuați interogări în loc să utilizați un shell și să tastați interogări manual.

Dar în acest articol vom folosi promptul de comandă pentru a ne face treaba.

Acum este timpul să ne scufundăm în comenzile MongoDB care vă vor ajuta să le folosiți în proiectele viitoare.

  1. Deschideți promptul de comandă și tastați mongod pentru a porni serverul MongoDB.

2. Deschideți un alt shell și tastați mongo pentru a vă conecta la serverul de baze de date MongoDB.

1. Găsirea bazei de date curente în care vă aflați

db
1611879249 847 Cum sa incepeti cu MongoDB in 10 minute

Această comandă va afișa baza de date curentă în care vă aflați. test este baza de date inițială care vine în mod implicit.

2. Listarea bazelor de date

show databases
1611879250 162 Cum sa incepeti cu MongoDB in 10 minute

În prezent am patru baze de date. Sunt: CrudDB, admin, config și local.

3. Accesați o anumită bază de date

use <your_db_name>
1611879250 466 Cum sa incepeti cu MongoDB in 10 minute

Aici m-am mutat la local Bază de date. Puteți verifica acest lucru dacă încercați comanda db pentru a imprima numele curent al bazei de date.

4. Crearea unei baze de date

Cu RDBMS (Relational Database Management Systems) avem baze de date, tabele, rânduri și coloane.

Dar în bazele de date NoSQL, cum ar fi MongoDB, datele sunt stocate în format BSON (o versiune binară a JSON). Sunt stocate în structuri numite „colecții”.

În bazele de date SQL, acestea sunt similare cu tabelele.

1611879250 863 Cum sa incepeti cu MongoDB in 10 minute
Cum sa incepeti cu MongoDB in 10 minute
Termeni SQL și termeni NoSQL de Victoria Malaya

În regulă, să vorbim despre cum creăm o bază de date în shell-ul mongo.

use <your_db_name>

Stai, am mai primit această comandă! De ce îl folosesc din nou ?!

În serverul MongoDB, dacă baza de date este deja prezentă, folosind acea comandă veți naviga în baza de date.

Dar dacă baza de date nu este deja prezentă, atunci serverul MongoDB va crea baza de date pentru dvs. Apoi, va naviga în el.

După crearea unei noi baze de date, rulați fișierul show database comanda nu va afișa baza de date nou creată. Acest lucru se datorează faptului că, până când nu conține date (documente), nu va apărea în lista dvs. db.

5. Crearea unei colecții

Navigați în baza de date nou creată cu use comanda.

De fapt, există două moduri de a crea o colecție. Să le vedem pe amândouă.

O modalitate este de a insera date în colecție:

db.myCollection.insert({"name": "john", "age" : 22, "location": "colombo"})

Aceasta îți va crea colecția myCollection chiar dacă colecția nu există. Apoi va insera un document cu name și age. Acestea sunt colecții fără limită.

A doua cale este prezentată mai jos:

2.1 Crearea unei colecții fără limită

db.createCollection("myCollection")

2.2 Crearea unei colecții limitate

db.createCollection("mySecondCollection", {capped : true, size : 2, max : 2})

În acest fel, veți crea o colecție fără a insera date.

O „colecție cu limită maximă” are un număr maxim de documente care împiedică debordarea documentelor.

În acest exemplu, am activat limitarea, setându-i valoarea la true.

size : 2 înseamnă o limită de doi megaocteți și max: 2 setează numărul maxim de documente la două.

Acum, dacă încercați să inserați mai mult de două documente în mySecondCollection și utilizați find (despre care vom vorbi în curând), veți vedea doar cele mai recente documente inserate. Rețineți că acest lucru nu înseamnă că primul document a fost șters – pur și simplu nu apare.

6. Introducerea datelor

Putem insera date într-o nouă colecție sau într-o colecție care a fost creată anterior.

1611879251 541 Cum sa incepeti cu MongoDB in 10 minute
moduri în care datele pot fi stocate într-un JSON

Există trei metode de inserare a datelor.

  1. insertOne() este folosit pentru a insera un singur document.
  2. insertMany() este folosit pentru a insera mai multe documente.
  3. insert() este folosit pentru a insera documente câte doriți.

Mai jos sunt câteva exemple:

  • insertOne ()
db.myCollection.insertOne(
  {
    "name": "navindu", 
    "age": 22
  }
)
  • insertMany ()
db.myCollection.insertMany([
  {
    "name": "navindu", 
    "age": 22
  },
  {
    "name": "kavindu", 
    "age": 20
  },

  {
    "name": "john doe", 
    "age": 25,
    "location": "colombo"
  }
])

insert() metoda este similară cu insertMany() metodă.

De asemenea, rețineți că am inserat o nouă proprietate numită location pe document pentru John Doe. Deci daca tu utilizare find, atunci vei vedea doar pentru john doe location proprietatea este atașată.

Acesta poate fi un avantaj când vine vorba de baze de date NoSQL, cum ar fi MongoDB. Permite scalabilitate.

1611879251 216 Cum sa incepeti cu MongoDB in 10 minute
Date inserate cu succes

7. Interogarea datelor

Iată cum puteți interoga toate datele dintr-o colecție:

db.myCollection.find()
1611879251 6 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Dacă doriți să vedeți aceste date într-un mod mai curat, trebuie doar să adăugați .pretty() până la capătul ei. Acesta va afișa documentul în format JSON destul de tipărit.

db.myCollection.find().pretty()
1611879251 983 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Stai … În aceste exemple ai observat doar ceva de genul _id? Cum a ajuns asta?

Ei bine, ori de câte ori introduceți un document, MongoDB adaugă automat un _id câmp care identifică în mod unic fiecare document. Dacă nu doriți să se afișeze, pur și simplu executați următoarea comandă

db.myCollection.find({}, _id: 0).pretty()

În continuare, vom analiza filtrarea datelor.

Dacă doriți să afișați un anumit document, puteți specifica un singur detaliu al documentului pe care doriți să îl afișați.

db.myCollection.find(
  {
    name: "john"
  }
)
1611879251 329 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Să presupunem că doriți să afișați numai persoane a căror vârstă este mai mică de 25. Puteți utiliza $lt pentru a filtra pentru aceasta.

db.myCollection.find(
  {
    age : {$lt : 25}
  }
)

În mod similar, $gt înseamnă mai mare decât, $lte este „mai mic sau egal cu”, $gte este „mai mare sau egal cu” și $ne nu este „egal”.

8. Actualizarea documentelor

Să presupunem că doriți să actualizați adresa sau vârsta cuiva, cum ați putea face acest lucru? Ei bine, vezi următorul exemplu:

db.myCollection.update({age : 20}, {$set: {age: 23}})

Primul argument este câmpul documentului pe care doriți să îl actualizați. Aici, specific age pentru simplitate. În mediul de producție, ați putea folosi ceva de genul _id camp.

Este întotdeauna mai bine să folosiți ceva de genul _id pentru a actualiza un rând unic. Acest lucru se datorează faptului că mai multe câmpuri pot avea același age și name. Prin urmare, dacă actualizați un singur rând, acesta va afecta toate rândurile care au același nume și vârstă.

1611879252 706 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Dacă actualizați un document în acest fel cu o proprietate nouă, să spunem location de exemplu, documentul va fi actualizat cu noul atribut. Și dacă faci un find, atunci rezultatul va fi:

1611879252 667 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Dacă trebuie să eliminați o proprietate dintr-un singur document, puteți face așa ceva (să presupunem că doriți age a fi plecat):

db.myCollection.update({name: "navindu"}, {$unset: age});

9. Scoaterea unui document

După cum am menționat mai devreme, când actualizați sau ștergeți un document, trebuie doar să specificați _id nu doar name, age, location.

db.myCollection.remove({name: "navindu"});

10. Eliminarea unei colecții

db.myCollection.remove({});

Rețineți, acest lucru nu este egal cu drop() metodă. Diferența este drop() este folosit pentru a elimina toate documentele dintr-o colecție, dar remove() metoda este utilizată pentru a șterge toate documentele împreună cu colecția în sine.

Operatori logici

MongoDB oferă operatori logici. Imaginea de mai jos rezumă diferitele tipuri de operatori logici.

1611879252 780 Cum sa incepeti cu MongoDB in 10 minute
1611879253 761 Cum sa incepeti cu MongoDB in 10 minute
referință: manual MongoDB

Să presupunem că doriți să afișați persoane a căror vârstă este mai mică de 25 de ani și, de asemenea, a căror locație este Colombo. Ce am putea face?

Putem folosi $and operator!

db.myCollection.find({$and:[{age : {$lt : 25}}, {location: "colombo"}]});

Nu în ultimul rând, să vorbim despre agregare.

Agregare

Un memento rapid despre ceea ce am învățat despre funcțiile de agregare în bazele de date SQL:

1611879253 515 Cum sa incepeti cu MongoDB in 10 minute
funcții de agregare în baze de date SQL. ref: Tutorial Gateway

Pur și simplu, agregarea grupează valorile din mai multe documente și le rezumă într-un fel.

Imaginați-vă dacă am avea studenți bărbați și femei într-un recordBook colecție și dorim un număr total pe fiecare dintre ele. Pentru a obține suma bărbaților și femelelor, am putea folosi $group funcție agregată.

db.recordBook.aggregate([
  {
    $group : {_id : "$gender", result: {$sum: 1}}
  }  
]);
1611879253 902 Cum sa incepeti cu MongoDB in 10 minute
rezultat

Înfășurându-se

Deci, am discutat elementele de bază ale MongoDB de care ați putea avea nevoie în viitor pentru a construi o aplicație. Sper că ți-a plăcut acest articol – mulțumesc pentru lectură!

Dacă aveți întrebări cu privire la acest tutorial, nu ezitați să comentați în secțiunea de comentarii de mai jos sau să mă contactați Facebook sau Stare de nervozitate sau Instagram.

Ne vedem băieți în articolul următor! ❤️ ✌?

Link către articolul meu anterior: NoSQL