Operațiuni CRUD în MongoDB: tutorial cu exemple

Publicat: 2020-02-05

Odată cu evoluția continuă a web-ului, vedem acum cum MongoDB și alte baze de date cu obiecte document apar ca alternative la bazele de date convenționale bazate pe SQL. Există mai multe avantaje pe care aceste baze de date cu obiecte de document le au față de bazele de date SQL, iar cele mai proeminente dintre toate aceste beneficii includ scalabilitatea și agilitatea.

Este important de reținut că datele din MongoDB sunt stocate în format de documente JSON (BSON) codificate binar. Acest format poate avea o cerință de a deține matrice de documente încorporate sau, de altfel, valori. Un document formează o înregistrare în MongoDB, care este o structură creată din perechi valori și câmpuri.

Să discutăm acum despre crearea, actualizarea, preluarea și ștergerea operațiunilor sau operațiunilor CRUD în MongoDB. Aceste funcții pot fi clasificate în linii mari ca funcții de modificare a datelor în MongoDB. Acestea pot fi folosite doar pentru o singură colecție. Insert este o funcție din MongoDB care poate fi folosită pentru a adăuga date în baza de date.

Cuprins

Lista operațiunilor CRUD din MongoDB

1. Crearea documentelor

Cum sunt create obiectele folosind MongoDB? MongoDB folosește BSON – o reprezentare binară a JSON – pentru stocarea sa. Deci, este destul de ușor de înțeles că metodele folosite pentru a efectua diferite operații în baza de date au ceva de-a face cu JavaScript. Să creăm o colecție de utilizatori și utilizatori. De asemenea, este important să rețineți că tabelele din SQL sunt echivalente cu colecțiile din MongoDB.
db.users.save({nume:”Mike”, job:”doctor”, e-mail:”[email protected]”})
Acest exemplu folosește MongoDB save() pentru salvarea datelor în colecție.

2. Inserarea documentelor

  • Inserare lot : Această funcție permite adăugarea unei liste de documente în același timp la o bază de date. Un lot, la un anumit moment în timp, poate avea sute sau chiar mii de documente. Cu capacitatea de a introduce mai multe documente, această funcție funcționează mult mai rapid decât alte funcții de inserare. O inserare în lot nu are nevoie de dvs. să ridicați cereri individuale pentru sutele sau miile de documente. În schimb, funcționează ca o singură solicitare TCP (Transmission Control Protocol). Timpul necesar în timpul inserărilor este întotdeauna semnificativ mai mic, deoarece nu este implicată nicio activitate de procesare a antetului. Fiecare document care trebuie introdus poartă un antet care transmite bazei de date operația care trebuie efectuată. În cea mai mare parte, inserțiile de lot sunt folosite pentru a păstra datele senzorilor și jurnalele serverului.
  • Mongoimport : Mongoimport este un instrument de linie de comandă care este utilizat în locul inserării lotului în datele esențiale din MySQL, Oracle sau orice alt sistem de gestionare a bazelor de date relaționale (RDBMS). Există momente în care vi se poate cere să faceți modificări documentelor - adăugați un ID personalizat - înainte de a-l stoca pe MongoDB. Un alt lucru important pe care ar trebui să-l știți este că MongoDB acceptă doar mesaje grele de 16 MB. Deci, inserarea lotului pune o restricție asupra numărului de mesaje pe care le poate avea.
  • Inserare în bloc neordonată : în această funcție, MongoDB scrie operațiuni fără a urma nicio ordine. În cazul producerii unei erori, va continua cu operațiunile de scriere care rămân fără nicio întrerupere. MongoDB formează un grup de operațiuni neordonate în timp ce le efectuează. MongoDB poate căuta, de asemenea, îmbunătățirea performanței prin reordonarea operațiunilor listate înainte de execuție. Deci, aplicațiile nu trebuie să se bazeze pe o secvență atunci când iau în considerare această funcție pentru inserarea în vrac. Bulk.getOperations() poate fi folosit pentru a vedea cum MongoDB grupează un set de operații și apoi le execută. Această comandă poate fi folosită pentru a adăuga trei documente în același timp, dar fără nicio ordine.
  • Inserare în bloc ordonată: în această funcție, MongoDB urmează o secvență atunci când scrie operațiuni. O eroare în timpul oricărei operațiuni de scriere face ca MongoDB să nu efectueze alte operațiuni de scriere. Operatiile ordonate sunt grupate in functie de continuitatea si tipul lor. Operațiile ordonate alăturate aparțin aceleiași clase sunt grupate.

De exemplu, dacă o listă ordonată are o operație de inserare urmată de o operație de ștergere urmată de două operațiuni de actualizare, MongoDB va crea trei grupuri pentru a le stivui. Grupul unu va consta dintr-o operație de inserare. Al doilea grup va avea o operație de ștergere. Al treilea grup va pune împreună cele două operațiuni de actualizare.

Se așteaptă ca edițiile viitoare ale MongoDB să se ocupe în mod corespunzător de acest comportament. Fiecare grup de liste în bloc comandate nu poate avea mai mult de 1000 de operațiuni. În cazul în care numărul depășește această limită maximă, MongoDB creează grupuri mai mici de 1000 de operațiuni sau mai puțin, pentru a adera la această limită. Deci, dacă există 7000 de operațiuni în vrac comandate, vor fi șapte grupuri, fiecare constând din 1000 de operațiuni în vrac. Pentru a vedea cum se fac gruparea și execuția, mai întâi executați comanda de inserare în bloc și apoi utilizați comanda Bulk.getOperations. Această comandă poate fi folosită pentru a adăuga trei documente în ordine.

3. Preluarea/citirea documentelor

Fiecare interogare din MongoDB este direcționată către anumite documente. MongoDB identifică documentele pe baza condiției definite într-o interogare și apoi returnează acele documente la destinația dorită. O interogare de recuperare a unui document poate avea o proiecție care menționează condiții sau criterii care se potrivesc cu câmpurile documentului care trebuie returnat.

Interogările pot fi modificate pentru a pune sărituri, limite și ordine de sortare.

Să discutăm acum cum este specificată condiția de egalitate. Utilizați comanda findOne() pentru a identifica prima înregistrare a unui document. Pentru a afișa rezultatele în formatul adecvat, puteți folosi metoda drăguță.

Utilizați interogarea db.items.find().pretty() pentru a identifica toate documentele listate într-o colecție și pentru a le afișa pe toate într-un format standardizat. Puteți utiliza o interogare goală pentru a alege toate documentele – db.items.find( {} ) – această interogare are o clauză de interogare goală la sfârșit – astfel încât va identifica toate documentele listate într-o colecție.

Nespecificarea metodei de căutare cu un document de interogare și utilizarea unei interogări goale vor oferi ambele același rezultat. Deci, interogările db.items.find( {} ) și db.items.find() sunt echivalente în ceea ce privește rezultatul pentru care sunt utilizate.

Puteți manipula interogarea și utilizați metoda cursorului de interogare, în timp ce metoda numărării vă permite să aflați numărul de documente dintr-o colecție care se potrivesc cu interogarea dvs. db.items.count()

4. Actualizarea documentelor

Trebuie să utilizați metoda update() pentru a actualiza documentele în MongoDB. Metoda de actualizare prezintă două elemente importante – interogare și actualizare. Parametrul de interogare este primul, urmat de parametrul de actualizare. Iată un exemplu

db.users.update({name:”Mike”}, {vârsta: 32})

Cu toate acestea, aceasta nu este modalitatea corectă de a actualiza o pereche de valori, care în acest caz este vârsta. Cu aceasta, vei suprascrie totul din document. Singurul lucru care va rămâne în epocă. Deci, atunci când trebuie să actualizăm o singură pereche de valori în întregul document, trebuie să folosim câteva cuvinte cheie.

db.users.update({nume: „Mike”}, { $set: { vârstă: 28}})

Acest lucru nu va suprascrie nimic. Veți păstra toate informațiile pe care le deține documentul. Doar valoarea vârstei va fi actualizată.

5. Îndepărtarea documentelor

Utilizați metoda remove – db.courses.remove() – pentru a elimina documente dintr-o colecție. Această comandă va elimina toate documentele din colecția dată. Ceea ce nu va elimina sunt indecșii și colecția în sine. Uneori, comanda de eliminare poate lua o interogare ca parametru. Dacă doriți să eliminați documentele care corespund criteriilor menționate în interogare, utilizați comanda db.items.remove({“item”: „Pen”).

Utilizați comanda db.items.remove({” item” : „Bag},1) pentru a elimina un singur document dintr-o colecție. Pentru a elimina toate documentele, colecțiile și indexurile, utilizați comanda db.courses.drop() (metoda drop).

Concluzie

Dacă sunteți interesat să aflați mai multe despre Big Data, consultați programul nostru PG Diploma în Dezvoltare Software Specializare în Big Data, care este conceput pentru profesioniști care lucrează și oferă peste 7 studii de caz și proiecte, acoperă 14 limbaje și instrumente de programare, practică practică. ateliere de lucru, peste 400 de ore de învățare riguroasă și asistență pentru plasarea unui loc de muncă cu firme de top.

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigați programe Executive PG, programe avansate de certificat sau programe de master pentru a vă accelera cariera.

Conduceți revoluția tehnologică bazată pe date

Peste 400 de ore de învățare. 14 limbi și instrumente. Statutul de absolvenți IIIT-B.
Program de certificat avansat în Big Data de la IIIT Bangalore