MongoDB Spørringsdokument: db.collection.find() med Eksempel
⚡ Smart oppsummering
MongoDB Dokumentspørringsoperasjoner henter poster fra en samling ved hjelp av funksjonen db.collection.find(). Metoden returnerer alle dokumenter som standard, godtar filterkriterier som felttreff og $gt-operatoren, og formaterer resultater med kommandoen forEach(printjson).

Metoden for å hente eller hente data fra en MongoDB database utføres ved hjelp av MongoDB forespørsler. Mens man utfører en spørringsoperasjon, kan man også bruke kriterier eller betingelser som kan brukes til å hente spesifikke data fra databasen.
MongoDB gir en funksjon kalt db.collection.find() som brukes til henting av dokumenter fra en MongoDB database.
I løpet av dette MongoDB spørringsveiledning, vil du se hvordan denne funksjonen brukes på ulike måter for å oppnå hensikten med dokumentinnhenting.
Hva er db.collection.find() i MongoDB?
Metoden db.collection.find() er den primære måten å lese dokumenter fra en MongoDB samling. Når du kaller den uten noe argument, returnerer den alle dokumenter i samlingen. Når du sender et spørreobjekt, returnerer den bare dokumentene som samsvarer med de gitte kriteriene, slik at du kan hente nøyaktig de dataene du trenger.
Metoden returnerer en markør, som er en peker til resultatsettet i stedet for selve dokumentene. Du bruker vanligvis en løkke gjennom markøren for å vise resultatene, ofte med forEach(printjson) for å vise hvert dokument i lesbar JSON. Hvis du bare trenger én enkelt post, MongoDB tilbyr også findOne(), som returnerer det første samsvarende dokumentet i stedet for en markør. Sammen dekker find() og findOne() de fleste leseoperasjoner i en MongoDB database, fra å hente hele samlinger til filtrering etter spesifikke feltverdier.
MongoDB Grunnleggende spørring Operasjoner
Det grunnleggende MongoDB spørringsoperatører dekker de enkle operasjonene som å få alle dokumentene i en MongoDB samling. La oss se på et db.collection.find eksempel på hvordan vi kan oppnå dette.
All vår kode vil bli kjørt i MongoDB JavaScript kommandoskall. Tenk på at vi har en samling kalt 'Ansatt' i vår MongoDB database og vi utfører kommandoen nedenfor.

Code Forklaring:
- Ansatt er samlingsnavnet i MongoDB database
- Ocuco MongoDB find query er en innebygd funksjon som brukes til å hente dokumentene i samlingen.
Hvis kommandoen utføres vellykket, vil følgende utgang vises for MongoDB finne eksempel
Utgang:
Utdataene viser alle dokumentene som finnes i samlingen.
Vi kan også legge til kriterier i spørringene våre slik at vi kan hente dokumenter basert på visse betingelser.
MongoDB Eksempel på spørring – 1
La oss se på et par MongoDB spørre etter eksempler på hvordan vi kan oppnå dette.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code Forklaring:
- Her ønsker vi å finne for en ansatt som heter "Smith" i samlingen , derfor skriver vi inn filterkriteriene som EmployeeName : "Smith"
Hvis kommandoen utføres vellykket, vil følgende utdata vises
Utgang:
Utdataene viser at bare dokumentet som inneholder "Smith" som ansattnavn returneres.
MongoDB Eksempel på spørring – 2
Nå i dette MongoDB spørringsveiledning, la oss ta en titt på et annet kodeeksempel som bruker mer enn søkekriteriene. Når dette kriteriet er inkludert, søker den faktisk i de dokumentene der verdien av feltet er større enn den angitte verdien.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code Forklaring:
- Her ønsker vi å finne for alle ansatte hvis id er større enn 2. $gt kalles en spørringsseleksjonsoperator, og det som bare betyr er å bruke større enn-uttrykket.
Dersom MongoDB select fields-kommandoen er utført vellykket, vil følgende utdata vises
Utgang:
Alle dokumentene der ansatt-ID-en er større enn 2, returneres.
MongoDB Query Operatorer
MongoDB filtrerer dokumenter ved hjelp av spørrevalgsoperatorer i find()-kriteriene. Disse operatorene lar deg matche områder, lister og negasjoner i stedet for bare eksakte verdier. Tabellen nedenfor viser de vanligste operatorene:
| Operator | Betydning | Eksempel |
|---|---|---|
| $gt | Større enn | {Ansatt-ID: {$gt: 2}} |
| $lt | Less enn | {Ansatt-ID: {$lt: 5}} |
| $gte | Større enn eller lik | {alder: {$gte: 18}} |
| $lte | Less enn eller lik | {alder: {$lte: 60}} |
| $ ne | Ikke lik | {status: {$ne: «aktiv»}} |
| $ i | Samsvarer med en hvilken som helst verdi i en liste | {avd.: {$in: [“HR”, “IT”]}} |
Du kan også kombinere betingelser med $and og $or for å bygge mer presise spørringer. Å velge riktig operator holder spørringene effektive og returnerer bare dokumentene applikasjonen din trenger.
Slik bruker du projeksjon med find()
Som standard returnerer find() hele dokumentet, inkludert alle felt. Ofte trenger du bare noen få felt, for eksempel et navn eller en ID. MongoDB lar deg kontrollere dette med en projeksjon, som er et andre argument som sendes til find() og som viser feltene som skal inkluderes eller ekskluderes.
Hvis du bare vil inkludere bestemte felt, setter du dem til 1 i projeksjonsobjektet. Følgende spørring returnerer bare feltet Ansattnavn for hvert dokument:
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB returnerer alltid _id-feltet med mindre du ekskluderer det eksplisitt. For å skjule det, sett _id til 0:
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
Du kan også ekskludere felt i stedet for å inkludere dem ved å sette dem til 0. For eksempel returnerer spørringen nedenfor alle felt unntatt EmployeeID:
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
Husk at du ikke kan blande inkludering og ekskludering i samme projeksjon, bortsett fra i _id-feltet. Bruk av projeksjon reduserer mengden data som overføres fra serveren, noe som gjør spørringer raskere og svar enklere å lese, spesielt på store dokumenter.



