În ultima secțiune am pus împreună un pic de schelă de testare pentru a obține exercitarea pus împreună pentru citirea utilizatorilor din
baza noastră de date pentru a vă asigura că am avut de fapt un utilizator în interiorul bazei noastre de date pentru
a lucra cu.
Am creat un nou utilizator numit Joe și apoi l-am salvat în colecția noastră de utilizatori.
Așadar, acum vrem să găsim o listă a tuturor utilizatorilor din baza noastră de date cu numele lui Joe.
Acesta este scopul nostru acum pentru a interoga baza noastră de date în orice mod.
Vom folosi ceea ce se numește o metodă de clasă sau o funcție de clasă.
Să aruncăm o privire la o diagramă care ne va ajuta să ne dăm seama cum funcționează.
Există două metode de interogare pe care le vom folosi cu biblioteca mongoose.
Primul este să găsești și cel de-al doilea să găsești unul cel mai important lucru pe care trebuie să-l înțelegi
este că aceștia găsesc și găsesc una dintre funcțiile care sunt legate de clasa noastră de utilizatori.
În ambele cazuri.
Deci, pentru că am creat un model de utilizator, avem acces pentru a utiliza sau a nu găsi și a folosi sau a găsi unul.
Dacă am fi făcut un alt model numit ceva de genul postării pe blog, vom avea postări de blog pe care le găsim
și vom posta pe blog.
Deci, fiecare clasă de model are propriile sale.
Găsiți și găsiți o funcție care găsește și găsește când funcțiile funcționează prin trecerea unui
obiect cu criterii ca criterii.
Aici este, în principiu, proprietățile pe care vrem să le căutăm.
Deci, în cazul nostru, pentru că vrem să găsim un utilizator cu numele lui Joe, am putea trece într-un obiect cu
o cheie de nume și o valoare a șirului.
Joe criteriile pentru.
Găsiți și găsiți unul funcționează identic.
Marea diferență dintre ele este ceea ce ni se întoarce și cum funcționează valoarea returnată.
Folosim căutarea ori de câte ori dorim să găsim toți utilizatorii care se potrivesc cu criteriile date.
Deci, poate că am mulți utilizatori diferiți cu numele lui Joe și vreau să-i găsesc pe fiecare dintre ei.
Acesta ar fi un caz bun de utilizare pentru utilizarea metodei de gasire, deoarece asta va gasi fiecare
utilizator din colectia mea cu numele lui Joe.
Pe de altă parte, găsim o funcție găsită căutând prin baza noastră de date sau colecția noastră cu un
anumit criteriu.
Și de îndată ce va găsi o înregistrare cu criteriile date, va opri automat interogarea și
va returna acea singură înregistrare a acelei înregistrări singure.
Deci, marea diferență dintre acestea găsește o colecție mare sau o grămadă mare de înregistrări, în timp ce găsim
una despre găsirea unei înregistrări foarte specifice care să fie conștientă de faptul că este bine.
Din moment ce returnează o listă de utilizatori diferiți, returnează o matrice, în timp ce găsiți o returnează o singură înregistrare.
Deci, să scriem un test sau un fel de carne din testul pe care l-am scris până acum, folosind punctul de căutare de
utilizator și încercați să găsiți toți utilizatorii cu numele lui Joe.
Desigur, acum avem doar un utilizator înăuntru de aici, dar vom scrie testul
nostru în așa fel încât să știi că vom presupune că va fi întotdeauna acest utilizator singular.
Deci, mai întâi am sunat utilizatorul să găsească unul din nou.
Luați notă specială aici, referindu-ne la modelul utilizator ca și la clasa Utilizator, nu la un anumit utilizator.
Toate metodele de queering pe care le vom găsi ori de câte ori lucrăm ca și cum
ar fi ca și cum ar fi să ne uităm la colecția noastră existentă vor folosi clasa User, spre deosebire de utilizarea sau referirea la o instanță
a unui utilizator ca ceea ce am făcut atunci când am vrut introduceți unul nou.
Deci, atunci vom numi găsi unul cu un obiect care este că va oferi criteriile noastre de căutare.
Și îmi pare rău că am spus să găsesc o adevărată dezordine pe care o găsesc.
Greseala mea aici.
Încercăm să-i găsim pe toți utilizatorii numele lui Joe, așa că ar trebui să folosim să nu găsim unul.
Greseala mea imi pare rau sa impinga criteriile cu care vrem sa cautam astfel incat vom
trece un obiect si dorim sa spunem sa-mi gasesc fiecare utilizator care are un nume de job.
Acum, din nou, la fel ca orice altceva pe care l-am văzut cu Mongoose și tot ce vom
vedea în viitor.
Această operație are nevoie de ceva timp pentru a fi executată, astfel încât nu numai să obținem
înapoi magic o listă de utilizatori.
În schimb, trebuie să schimbăm un punct.
Apoi treceți într-o funcție de apel invers, astfel încât interiorul acestei funcții chiar aici va fi numit această funcție chiar aici va fi numit
cu o listă a tuturor utilizatorilor care se găsesc.
Așadar, trebuie să adaug utilizatorilor.
Și aceasta va fi lista mea de utilizatori.
Cu toate acestea multe s-au găsit acolo ar putea fi zero sau ar putea fi matrice goale acolo ar putea fi 10 utilizatori
în interiorul de aici pentru testul nostru.
Suntem într-adevăr de așteptat ca acolo să fie un singur utilizator utilizatorul nostru Joe.
Deci, dacă mergem mai departe, hai să consolezem acest jurnal, spune consiliului să-l înregistreze și să
vedem la ce trebuie să lucrăm.
De asemenea, nu uitați că pentru că acesta este un test asincron și este
asincron, deoarece va dura ceva timp pentru a finaliza, trebuie să ne asigurăm că vom include apelul.
Deci mergem la reverență făcută pentru bloc și apoi înăuntru aici îl vom chema pe Dunn să-i spună lui Moga că acest test
va dura puțin timp.
Odată ce am sunat, puteți trece la următorul test.
Deci haideți să rulați acest lucru și spuneți și apoi rulați
test și în interiorul de aici avem un jurnal de consolă arata ca yep este un matrice.
Și avem un obiect care reprezintă utilizatorul nostru care iese din baza de date.
Deci, să luăm o pauză rapidă și apoi să ne întoarcem și să ne dăm seama cum vom scrie o afirmație
pentru a spune că utilizatorul nostru a fost găsit cu succes.
Așa că o să văd în doar o secundă.