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

de Navindu Jayatilake

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

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

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

bine, destul de discuție, să trecem la 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 MongoDB community server setup, veți trece printr-un proces de instalare ‘next after next’. După ce ați terminat, mergeți la unitatea C în care ați instalat MongoDB. Accesați program files și selectați directorul MongoDB.

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

în directorul bin, veți găsi un cuplu 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 interiorul unității C și faceți următoarele:

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

scopul acestor directoare este 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ă furnizăm aceste directoare ca atare.

dacă porniți serverul MongoDB fără aceste directoare, veți vedea, probabil, această eroare următoare:

încercarea de a porni serverul mongodb fără directoare \data\db

după crearea celor două fișiere, peste cap din nou la folderul bin aveți în directorul mongodb și deschide shell-ul în interiorul ea. Executați următoarea comandă:

mongod

Voil inkt! 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 executați următoarea comandă:

mongo

după rularea acestei comenzi, navigați la shell-ul pe care l-am rulat comanda mongod (care este serverul nostru). Veți vedea un mesaj ‘conexiune acceptată’ la sfârșit. Asta înseamnă că instalarea și configurarea noastră au succes!

pur și simplu rulați în shell mongo:

db
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 esteC:\Program Files\MongoDB\Server\4.0\bin

acum sunteți gata!

lucrul cu MongoDB

există o grămadă de GUI (interfață grafică de 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 de a efectua interogări în loc de a utiliza un shell și tastarea interogări manual.

dar în acest articol vom folosi promptul de comandă pentru a ne face munca.

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

  1. Deschideți promptul de comandă și tastațimongod 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

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

am în prezent patru baze de date. Acestea sunt:CrudDBadminconfig șilocal.

3. Du-te la o anumită bază de date

use <your_db_name>

aici m-am mutat la local baza de date. Puteți verifica acest lucru dacă încercați comanda db pentru a imprima numele bazei de date curente.

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). Ele sunt stocate în structuri numite „colecții”.

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

Termeni SQL și termeni NoSQL de victoria Malaya

bine, hai sa vorbim despre modul în care vom crea o bază de date în coajă Mongo.

use <your_db_name>

stai, am avut această comandă înainte! De ce o folosesc din nou?!

în MongoDB server, în cazul în care baza de date este prezent deja, folosind această comandă va 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 ea.

după crearea unei noi baze de date, rularea comenziishow database nu va afișa baza de date nou creată. Acest lucru se datorează faptului că, până când nu are date (documente) în el, nu se va afișa în lista dvs.

5. Crearea unei colecții

navigați în baza de date nou creată cu comandause.

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 va crea colecția dvs. 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ă capac

db.createCollection("myCollection")

2.2 crearea unei colecții fără capac

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 limitată” are un număr maxim de documente care împiedică debordarea documentelor.

în acest exemplu, am activat plafonarea, setând valoarea sa la true.

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

acum, dacă încercați să inserați mai mult de două documente înmySecondCollection și utilizați comandafind (despre care vom vorbi în curând), veți vedea doar cele mai recent introduse documente. Rețineți că acest lucru nu înseamnă că primul document a fost șters — pur și simplu nu se afișează.

6. Introducerea datelor

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

moduri în care datele pot fi stocate într-un JSON

există trei metode de inserare a datelor.

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

mai jos sunt câteva exemple:

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

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

de asemenea, observați că am introdus o nouă proprietate numitălocation în documentul pentruJohn Doe. Deci, dacă utilizați find, atunci veți vedea numai pentru john doe proprietatea location este atașată.

acest lucru poate fi un avantaj atunci când vine vorba de baze de date NoSQL, cum ar fi MongoDB. Permite scalabilitatea.

date introduse cu succes

7. Interogarea datelor

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

db.myCollection.find()
rezultat

dacă doriți să vedeți aceste date într-un mod mai curat, trebuie doar să adăugați .pretty() la sfârșitul acestuia. Aceasta va afișa documentul în format JSON destul de tipărit.

db.myCollection.find().pretty()
rezultat

Wait…In aceste exemple tocmai ați observat ceva de genul_id? Cum a ajuns asta acolo?Ei bine, Ori de câte ori introduceți un document, MongoDB adaugă automat un câmp _id care identifică în mod unic fiecare document. Dacă nu doriți să se afișeze, pur și simplu rulați următoarea comandă

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

în continuare, ne vom uita la 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" })
rezultat

Să presupunem că doriți doar să afișați persoanele a căror vârstă este mai mică de 25 de ani. Puteți utiliza$lt pentru a filtra acest lucru.

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 este „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, vedeți 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, ai putea folosi ceva de genul _id câmp.

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ă.

rezultat

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

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. Eliminarea unui document

așa cum am menționat mai devreme, atunci când actualizați sau ștergeți un document, trebuie doar să specificați_id nu doarnameagelocation.

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

10. Eliminarea unei colecții

db.myCollection.remove({});

Notă, Aceasta nu este egală cu metodadrop(). Diferența este drop() este utilizat pentru a elimina toate documentele din interiorul unei colecții, dar metoda remove() 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.

referință: MongoDB manual

Să presupunem că doriți să afișați persoanele 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:});

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

agregare

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

funcții de agregare în bazele 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 de sex masculin și feminin într-o colecție recordBook și vrem un număr total pe fiecare dintre ei. Pentru a obține suma masculilor și femelelor, am putea folosi funcția agregată $group.

db.recordBook.aggregate();
rezultat

înfășurarea

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ă!



Lasă un răspuns

Adresa ta de email nu va fi publicată.