Înțelegeți interogările și operațiunile MongoDB cu ajutorul acestui ghid la îndemână.

MongoDB este una dintre cele mai dorite și admirate baze de date NoSQL pentru dezvoltare profesională. Flexibilitatea, scalabilitatea și capacitatea sa de a gestiona volume mari de date îl fac o alegere de top pentru aplicațiile moderne. Dacă doriți să stăpâniți interogările și operațiunile obișnuite ale MongoDB, sunteți în locul potrivit.

Indiferent dacă doriți să preluați și să manipulați datele în mod eficient, să implementați modele robuste de date sau să creați răspunsuri aplicații, dobândirea unei înțelegeri profunde a interogărilor și operațiunilor comune MongoDB vă va îmbunătăți, fără îndoială, aptitudini.

1. Creați sau schimbați baze de date

Crearea unei baze de date local prin MongoDB Shell este simplă, mai ales dacă ați configurat un cluster la distanță. Puteți crea o nouă bază de date în MongoDB cu ajutorul utilizare comanda:

use db_name

În timp ce comanda de mai sus creează o nouă bază de date, o puteți folosi pentru a trece la o bază de date existentă fără a crea una nouă de la zero.

instagram viewer

2. Aruncă baza de date

Mai întâi, comutați la baza de date pe care doriți să o eliminați folosind utilizare comandă așa cum sa făcut anterior. Apoi aruncați baza de date folosind dropDatabase() comanda:

use db_name
db.dropDatabase()

3. Creați o colecție

Pentru a crea o colecție, comutați la baza de date țintă. Folosește createColection() cuvânt cheie pentru a face o nouă colecție MongoDB:

db.createCollection("collection_name")

A inlocui nume_colecție cu numele de colecție ales de dvs.

4. Inserați documentul într-o colecție

În timp ce trimiteți date către o colecție, puteți insera un singur document sau o serie de documente.

Pentru a introduce un singur document:

db.collection_name.insertOne({"Name":"Idowu", "Likes":"Chess"})

De asemenea, puteți utiliza metoda de mai sus pentru a insera o serie de documente cu un singur ID:

db.collection_name.insertOne([{"Name":"Idowu", "Likes":"Chess"}, {"Language": "Mongo", "is_admin": true}])

Pentru a introduce mai multe documente simultan, fiecare având ID-uri separate, utilizați inserațiMulți cuvânt cheie:

db.collection_name.insertMany([{"Name":"Idowu", "Likes":"Chess"}, {"Name": "Paul", "Likes": "Wordle"}])

5. Obțineți toate documentele dintr-o colecție

Puteți interoga toate documentele dintr-o colecție folosind găsi() cuvânt cheie:

db.collection_name.find()

Cele de mai sus returnează toate documentele din colecția specificată:

De asemenea, puteți limita datele returnate la un anumit număr. De exemplu, puteți folosi următoarea comandă pentru a obține doar primele două documente:

db.collection_name.find().limit(2)

6. Filtrați documentele dintr-o colecție

Există multe modalități de a filtra documentele în MongoDB. Luați în considerare următoarele date, de exemplu:

Dacă interogați doar un anumit câmp dintr-un document, utilizați găsi metodă:

db.collection_name.find({"Likes":"Wordle"}, {"_id":0, "Name":1})

Cele de mai sus returnează toate documentele în care valoarea de Îi place este Wordle. Afișează numai numele și ignoră ID-ul documentului.

De asemenea, puteți filtra o colecție după un factor numeric. Să presupunem că doriți să obțineți numele tuturor utilizatorilor mai în vârstă de 21 de ani, utilizați $gt operator:

db.collection_name.find({"Likes":"Chess", "Age":{"$gt":21}}, {"_id":0, "Name":1})

Ieșirea arată astfel:

Încercați să înlocuiți găsi cu găsește una pentru a vedea ce se întâmplă. Cu toate acestea, există multe alte cuvinte cheie de filtrare:

  • $lt: Toate valorile mai mici decât cea specificată.
  • $gte: Valori egale sau mai mari decât cele specificate.
  • $lte: Valori care sunt mai mici sau egale cu cea definită.
  • $eq: Obține toate valorile egale cu cea specificată.
  • $ne: Toate valorile nu sunt egale cu cea specificată.
  • $in: Folosiți acest lucru atunci când interogați bazat pe o matrice. Primește toate valorile care se potrivesc cu oricare dintre elementele din matrice. The $nin cuvântul cheie face opusul.

7. Sortare interogări

Sortarea ajută la aranjarea interogării într-o anumită ordine. Puteți sorta în ordine descrescătoare sau crescătoare. Rețineți că sortarea necesită o referință numerică.

De exemplu, pentru a sorta în ordine crescătoare:

db.collection_name.find({"Likes":"Chess"}).sort({"Age":1})

Pentru a sorta interogarea de mai sus în ordine descrescătoare, înlocuiți „1” cu „-1”.

db.collection_name.find({"Likes":"Chess"}).sort({"Age":-1})

8. Actualizați un document

Actualizările MongoDB necesită ca operatorii atomici să specifice modul în care doriți ca actualizarea să fie efectuată. Iată o listă de operatori atomici folosiți în mod obișnuit pe care îi puteți asocia cu o interogare de actualizare:

  • $set: Adăugați un câmp nou sau modificați un câmp existent.
  • $push: inserați un element nou într-o matrice. Asociați-l cu $fiecare operator pentru a introduce mai multe elemente simultan.
  • $trage: Eliminați un element dintr-o matrice. Folosește-l cu $in pentru a elimina multe articole dintr-o dată.
  • $unset: Eliminați un câmp dintr-un document.

Pentru a actualiza un document și a adăuga un câmp nou, de exemplu:

db.collection_name.updateOne({"Name":"Sandy"}, {"$set":{"Name":"James", "email":"[email protected]"}})

Cele de mai sus actualizează documentul specificat, după cum se arată:

Eliminarea câmpului de e-mail este simplă cu $unset operator:

db.collection_name.updateOne({"Name":"Sandy"}, {"$unset":{"email":"[email protected]"}})

Luați în considerare următoarele date eșantion:

Puteți insera un element în cel existent articole câmpul matricei folosind $push operator:

db.collection_name.updateOne({"Name":"Pete"}, {"$push":{"items":"Plantain"}})

Iată rezultatul:

Folosește $fiecare operator pentru a insera mai multe articole deodată:

db.collection_name.updateOne({"Name":"Pete"}, {"$push":{"items": {"$each":["Almond", "Melon"]}}})

Iată rezultatul:

După cum sa menționat, $trage operatorul elimină un element dintr-o matrice:

db.collection_name.updateOne({"Name":"Pete"}, {"$pull":{"items":"Plantain"}})

Datele actualizate arată astfel:

Includeți $in cuvânt cheie pentru a elimina multe elemente dintr-o matrice dintr-o dată:

db.collection_name.updateOne({"Name":"Pete"}, {"$pull":{"items": {"$in":["Almond", "Melon"]} }})

9. Ștergeți un document sau un câmp

The deleteOne sau deleteMany cuvântul cheie aruncă la gunoi un document dintr-o colecție. Utilizare deleteOne pentru a elimina un document pe baza unui câmp specificat:

db.collection_name.deleteOne({"Name":"IDNoble"})

Dacă doriți să ștergeți multe documente cu chei comune, utilizați deleteMany in schimb. Interogarea de mai jos șterge toate documentele care conțin Şah ca lor Îi place.

db.collection.deleteMany({"Likes":"Chess"})

10. Operația de indexare

Indexarea îmbunătățește performanța interogărilor prin eficientizarea numărului de documente pe care MongoDB trebuie să le scaneze. Cel mai bine este adesea să creați un index pe câmpurile pe care le interogați mai des.

Indexarea MongoDB este similară cu cea a dvs utilizați indecși pentru a optimiza interogările SQL. De exemplu, pentru a crea un index ascendent pe Nume camp:

db.collection.createIndex({"Name":1})

Pentru a vă lista indecșii:

db.collection.getIndexes()

Cele de mai sus sunt doar un preambul. Există mai multe alte metode pentru crearea unui index în MongoDB.

11. Agregare

Conducta de agregare, o versiune îmbunătățită a MapReduce, vă permite să rulați și să stocați calcule complexe din interiorul MongoDB. Spre deosebire de MapReduce, care necesită scrierea separată a hărții și a funcțiilor de reducere Funcții JavaScript, agregarea este simplă și utilizează numai metode MongoDB încorporate.

Luați în considerare următoarele date de vânzări, de exemplu:

Folosind agregarea MongoDB, puteți calcula și stoca numărul total de produse vândute pentru fiecare categorie, după cum urmează:

db.sales.aggregate([{$group:{"_id":"$Section", "totalSold":{$sum:"$Sold"}}}, {$project:{"_id":0, "totalSold":1, "Section":"$_id"}}])

Interogarea de mai sus returnează următoarele:

Master MongoDB Interogări

MongoDB oferă multe metode de interogare, inclusiv funcții pentru a îmbunătăți performanța interogărilor. Indiferent de limbajul dvs. de programare, structurile de interogare de mai sus sunt rudimentare pentru interacțiunea cu o bază de date MongoDB.

Totuși, pot exista unele discrepanțe în sintaxele de bază. De exemplu, în timp ce unele limbaje de programare precum Python recunosc carcasele de șarpe, altele, inclusiv JavaScript, folosesc carcasa de cămilă. Asigurați-vă că căutați ce funcționează pentru tehnologia aleasă.