Metoda de preluare sau obținere a datelor dintr-o bază de date MongoDB se realizează utilizând interogări. În timpul efectuării unei operații de interogare, se pot utiliza și criterii sau condiții care pot fi utilizate pentru a extrage date specifice din baza de date.
MongoDB oferă o funcție numită db.collection.find () care este utilizată pentru recuperarea documentelor dintr-o bază de date MongoDB.
Pe parcursul acestui tutorial, veți vedea cum această funcție este utilizată în diferite moduri pentru a atinge scopul recuperării documentelor.
Operații de interogare de bază
Operațiile de interogare de bază acoperă operațiile simple, cum ar fi obținerea tuturor documentelor dintr-o colecție MongoDB. Să vedem un exemplu despre cum putem realiza acest lucru.
Tot codul nostru va fi rulat în shell-ul de comandă JavaScript MongoDB. Luați în considerare faptul că avem o colecție numită „Angajat” în baza noastră de date MongoDB și executăm comanda de mai jos.
Explicatie cod:
- Angajat este numele colecției din baza de date MongoDB
- Comanda Find este o funcție încorporată care este utilizată pentru a prelua documentele din colecție.
Dacă comanda este executată cu succes, va fi afișată următoarea ieșire
Ieșire:
Ieșirea arată toate documentele care sunt prezente în colecție.
De asemenea, putem adăuga criterii la interogările noastre, astfel încât să putem prelua documente pe baza anumitor condiții.
Exemplul 1
Să ne uităm la câteva exemple despre cum putem realiza acest lucru.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Explicatie cod:
- Aici vrem să găsim un angajat al cărui nume este „Smith” în colecție, de aceea introducem criteriile de filtrare ca EmployeeName: „Smith”
Dacă comanda este executată cu succes, va fi afișată următoarea ieșire
Ieșire:
Rezultatul arată că este returnat doar documentul care conține „Smith” ca nume de angajat.
Exemplul 2
Acum, să aruncăm o privire la un alt exemplu de cod care folosește criteriile mai mari decât cele de căutare. Când este inclus acest criteriu, acesta caută de fapt acele documente în care valoarea câmpului este mai mare decât valoarea specificată.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Explicatie cod:
- Aici vrem să găsim pentru toți Angajații al căror cod este mai mare de 2. $ gt se numește operator de selectare a interogărilor și ceea ce înseamnă doar este să folosim expresia mai mare decât.
Dacă comanda este executată cu succes, va fi afișată următoarea ieșire
Ieșire:
Toate documentele în care ID-ul angajatului este mai mare de 2 sunt returnate.