MongoDB Päringu dokument: db.collection.find() koos näitega

⚡ Nutikas kokkuvõte

MongoDB Dokumendi päringutoimingud hangivad kollektsioonist kirjeid funktsiooni db.collection.find() abil. Meetod tagastab vaikimisi kõik dokumendid, aktsepteerib filtrikriteeriume, näiteks väljavasteid ja operaatorit $gt, ning vormindab tulemusi käsuga forEach(printjson).

  • 🔍 leid() funktsioon: Meetod db.collection.find() hangib dokumente andmebaasist MongoDB kogu, tagastades kõik dokumendid, kui filtrit pole määratud.
  • 🎯 Filtrikriteeriumid: Päringuobjekti, näiteks {EmployeeName: “Smith”}, edastamine tagastab ainult tingimusele vastavad dokumendid.
  • Query Operators: Valikuoperaatorid nagu $gt, $lt ja $in täpsustavad tulemusi, näiteks leiavad töötajaid, kelle ID on suurem kui 2.
  • 🖨️ Readable Väljund: Funktsioonil „Chaining forEach(printjson)“ prinditakse iga tagastatud dokument puhtas JSON-vormingus.
  • 🧾 Projektsioon: Teine argument funktsioonile find() valib, millised väljad tulemustesse kaasata või neist välja jätta.

Meetod andmete toomiseks või hankimiseks a MongoDB andmebaas viiakse läbi kasutades MongoDB päringuid. Päringutoimingu tegemisel saab kasutada ka kriteeriume või tingimusi, mille abil saab andmebaasist konkreetseid andmeid hankida.

MongoDB pakub funktsiooni nimega db.collection.find() mida kasutatakse dokumentide väljavõtmiseks a MongoDB andmebaas.

Selle käigus MongoDB päringu õpetus, näete, kuidas seda funktsiooni kasutatakse erinevatel viisidel dokumentide otsimise eesmärgi saavutamiseks.

Mis on db.collection.find() funktsioon rakenduses? MongoDB?

db.collection.find() meetod on peamine viis dokumentide lugemiseks andmebaasist. MongoDB kollektsioon. Kui seda ilma argumendita kutsuda, tagastab see kõik kollektsioonis olevad dokumendid. Päringuobjekti edastamisel tagastab see ainult need dokumendid, mis vastavad antud kriteeriumidele, nii et saate hankida täpselt vajalikud andmed.

Meetod tagastab kursori, mis on pigem tulemuste komplekti kui dokumentide endi pointer. Tulemuste kuvamiseks tehakse tavaliselt tsükkel läbi kursori, sageli kasutatakse forEach(printjson) funktsiooni, et kuvada iga dokument loetavas JSON-vormingus. Kui vajate ainult ühte kirjet, MongoDB pakub ka funktsiooni findOne(), mis tagastab kursori asemel esimese sobiva dokumendi. Koos katavad find() ja findOne() enamiku lugemisoperatsioone. MongoDB andmebaasist, alates tervete kollektsioonide toomisest kuni konkreetsete väljaväärtuste järgi filtreerimiseni.

MongoDB Põhipäring Operamine

Põhiline MongoDB päringuoperaatorid hõlmavad lihtsaid toiminguid, nagu kõigi dokumentide hankimine a MongoDB kogumine. Vaatame faili db.collection.find selle kohta, kuidas seda teha.

Kogu meie kood käivitatakse rakenduses MongoDB JavaScript käsu kest. Arvestage, et meil on kollektsioon nimega "Töötaja". MongoDB andmebaasi ja täidame alloleva käsu.

MongoDB Põhipäring Operamine
MongoDB Põhiline päringu toiming

Code Selgitus:

  1. Töötaja on kollektsiooni nimi MongoDB andmebaas
  2. . MongoDB otsingupäring on sisseehitatud funktsioon, mida kasutatakse kogus olevate dokumentide toomiseks.

Kui käsk on edukalt täidetud, kuvatakse järgmine väljund MongoDB leia näide

Väljund:

MongoDB Põhipäring Operamine

Väljund näitab kõiki kogus olevaid dokumente.

Samuti saame oma päringutele lisada kriteeriume, et saaksime teatud tingimustel dokumente tuua.

MongoDB Päringu näide – 1

Vaatame paari MongoDB küsige näiteid selle kohta, kuidas seda teha.

db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);

Code Selgitus:

  1. Siin tahame leida kogust töötaja, kelle nimi on "Smith", seetõttu sisestame filtrikriteeriumid kui Töötajanimi: "Smith"

Kui käsk on edukalt täidetud, kuvatakse järgmine väljund

Väljund:

MongoDB Päringu näide

Väljund näitab, et tagastatakse ainult dokument, mille töötaja nimi on "Smith".

MongoDB Päringu näide – 2

Nüüd selles MongoDB päringute õpetust, vaatame veel ühte koodinäidet, mis kasutab otsingukriteeriume suuremat. Kui see kriteerium on kaasatud, otsib see tegelikult neid dokumente, kus välja väärtus on määratud väärtusest suurem.

db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);

Code Selgitus:

  1. Siit tahame leida kõik töötajad, kelle id on suurem kui 2. $gt nimetatakse päringu valikuoperaatoriks ja see tähendab ainult avaldist suurem kui kasutada.

Kui MongoDB väljade valimise käsk on edukalt täidetud, kuvatakse järgmine väljund

Väljund:

MongoDB Päringu näide

Kõik dokumendid, mille töötaja ID on suurem kui 2, tagastatakse.

MongoDB Query Operatorse

MongoDB filtreerib dokumente, kasutades päringu valiku operaatoreid find() kriteeriumite sees. Need operaatorid võimaldavad teil leida vasteid vahemike, loendite ja eituste, mitte ainult täpsete väärtuste järgi. Allolev tabel loetleb kõige levinumad operaatorid:

Operator Tähendus Näide
$gt Suurem kui {Töötaja ID: {$gt: 2}}
$ lt Less kui {Töötaja ID: {$lt: 5}}
$gte Suurem või võrdne {vanus: {$gte: 18}}
$lte Less kui või võrdne {vanus: {$lte: 60}}
$ne Ei ole võrdne {staatus: {$ne: „aktiivne”}}
$sisse Vastab mis tahes väärtusele loendis {osakond: {$in: [“personalijuhtimine”,”IT”]}}

Täpsemate päringute loomiseks saate tingimusi kombineerida ka operaatoritega $and ja $or. Õige operaatori valimine hoiab päringud tõhusad ja tagastab ainult need dokumendid, mida teie rakendus vajab.

Kuidas kasutada projektsiooni funktsiooniga find()

Vaikimisi tagastab find() kogu dokumendi, sealhulgas kõik väljad. Sageli on vaja ainult mõnda välja, näiteks nime või ID-d. MongoDB võimaldab teil seda juhtida projektsiooniga, mis on funktsioonile find() edastatud teine ​​argument, mis loetleb kaasatavad või välistatavad väljad.

Ainult teatud väljade kaasamiseks määrake projektsiooniobjektis nende väärtuseks 1. Järgmine päring tagastab iga dokumendi kohta ainult EmployeeName välja:

db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);

MongoDB tagastab alati _id välja, kui te seda selgesõnaliselt ei välista. Selle peitmiseks määrake _id väärtuseks 0:

db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);

Väljade lisamise asemel saate need ka välistada, määrates nende väärtuseks 0. Näiteks allolev päring tagastab kõik väljad peale töötaja ID:

db.Employee.find({}, {Employeeid: 0}).forEach(printjson);

Pea meeles, et kaasamist ja välistamist ei saa samas projektsioonis segada, välja arvatud _id väli. Projektsiooni kasutamine vähendab serverist edastatavate andmete hulka, mis muudab päringud kiiremaks ja vastused lihtsamini loetavaks, eriti suurte dokumentide puhul.

KKK

find() tagastab kursori kõikidele päringule vastavatele dokumentidele, seega saab see tagastada palju tulemusi. findOne() tagastab ainult esimese sobiva dokumendi ühe objektina või nullväärtuse, kui ühtegi vastet ei leita.

Seo sort() ja limit() funktsioonid find() kursoriga. Näiteks find().sort({age:1}).limit(5) tagastab viis noorimat kirjet. Kasuta sort() funktsioonis kasvava järjestuse jaoks 1 ja kahaneva järjestuse jaoks -1.

Kasuta countDocuments() funktsiooni sama filtriga, näiteks db.Employee.countDocuments({EmployeeName:”Smith”}). See tagastab sobivate dokumentide arvu ilma neid uuesti hankimata, mis on kiirem kui kogu tulemuste komplekti lugemine ja loendamine.

Tehisintellekt suudab teisendada lihtkeelse päringu find() päringuks õigete operaatorite ja projektsiooniga ning iga osa selgitada. Enne päringu käivitamist tootmiskeskkonnas testi seda alati näidisandmete peal.

Jah. Tehisintellekt suudab lugeda päringuplaani, leida puuduvaid indekseid või ebaefektiivseid operaatoreid ning soovitada indekseid või ümberkirjutatud filtreid. See aitab arendajatel kiiremini parandada funktsiooni find() jõudlust suurtes kogudes.

Võta see postitus kokku järgmiselt: