MongoDB Querydocument: db.collection.find() met voorbeeld
โก Slimme samenvatting
MongoDB De Query Document-bewerking haalt records op uit een collectie met behulp van de db.collection.find()-functie. De methode retourneert standaard alle documenten, accepteert filtercriteria zoals veldovereenkomsten en de $gt-operator, en formatteert de resultaten met de forEach(printjson)-opdracht.

De methode voor het ophalen of ophalen van gegevens uit een MongoDB database wordt uitgevoerd met behulp van MongoDB query's. Tijdens het uitvoeren van een querybewerking kan men ook criteria of voorwaarden gebruiken die kunnen worden gebruikt om specifieke gegevens uit de database op te halen.
MongoDB biedt een functie genaamd db.collectie.find() die wordt gebruikt voor het ophalen van documenten uit een MongoDB database.
In de loop hiervan MongoDB query-tutorial, zult u zien hoe deze functie op verschillende manieren wordt gebruikt om het doel van het ophalen van documenten te bereiken.
Wat is db.collection.find() in MongoDB?
De methode db.collection.find() is de belangrijkste manier om documenten uit een database te lezen. MongoDB collectie. Wanneer je de functie zonder argumenten aanroept, retourneert deze alle documenten in de collectie. Wanneer je een query-object doorgeeft, retourneert de functie alleen de documenten die aan de opgegeven criteria voldoen, zodat je precies de gegevens kunt ophalen die je nodig hebt.
De methode retourneert een cursor, een verwijzing naar de resultatenset in plaats van naar de documenten zelf. Meestal doorloop je de cursor om de resultaten weer te geven, vaak met `forEach(printjson)` om elk document in leesbare JSON te tonen. Als je slechts รฉรฉn record nodig hebt, MongoDB Het biedt ook findOne(), dat het eerste overeenkomende document retourneert in plaats van een cursor. Samen dekken find() en findOne() de meeste leesbewerkingen in een MongoDB database, van het ophalen van complete collecties tot het filteren op specifieke veldwaarden.
MongoDB Basisvraag Operaties
De basis MongoDB Query-operatoren dekken de eenvoudige bewerkingen zoals het ophalen van alle documenten in een MongoDB verzameling. Laten we eens kijken naar een db.collection.find-voorbeeld van hoe we dit kunnen bereiken.
Al onze code wordt uitgevoerd in de MongoDB JavaScript commandoshell. Bedenk dat we een collectie hebben met de naam 'Werknemer' in onze MongoDB database en we voeren de onderstaande opdracht uit.

Code Uitleg:
- Werknemer is de collectienaam in het MongoDB databank
- De MongoDB find query is een ingebouwde functie die wordt gebruikt om de documenten in de collectie op te halen.
Als de opdracht succesvol wordt uitgevoerd, wordt de volgende uitvoer weergegeven voor de MongoDB voorbeeld vinden
Output:
In de uitvoer worden alle documenten weergegeven die in de collectie aanwezig zijn.
We kunnen ook criteria aan onze queries toevoegen, zodat we documenten op basis van bepaalde voorwaarden kunnen ophalen.
MongoDB Zoekvoorbeeld โ 1
Laten we er een paar bekijken MongoDB Vraag voorbeelden van hoe we dit kunnen bereiken.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code Uitleg:
- Hier willen we zoeken naar een werknemer wiens naam โSmithโ is in de verzameling, daarom voeren we de filtercriteria in als EmployeeName: โSmithโ
Als de opdracht succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven
Output:
De uitvoer laat zien dat alleen het document dat โSmithโ als werknemersnaam bevat, wordt geretourneerd.
MongoDB Zoekvoorbeeld โ 2
Nu in dit MongoDB queries tutorial, laten we eens kijken naar een ander codevoorbeeld dat gebruik maakt van de groter dan zoekcriteria. Wanneer dit criterium wordt opgenomen, wordt daadwerkelijk in die documenten gezocht waar de waarde van het veld groter is dan de opgegeven waarde.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code Uitleg:
- Hier willen we alle werknemers vinden waarvan de id groter is dan 2. De $gt wordt een queryselectieoperator genoemd en betekent gewoon dat de 'groter dan'-expressie moet worden gebruikt.
Indien de MongoDB Als de opdracht velden selecteren succesvol is uitgevoerd, wordt de volgende uitvoer weergegeven
Output:
Alle documenten waarin de Werknemer-ID groter is dan 2 worden geretourneerd.
MongoDB Vraag Operaverdraaid
MongoDB Deze functie filtert documenten met behulp van selectieoperatoren binnen de `find()`-criteria. Met deze operatoren kunt u zoeken op bereiken, lijsten en negaties in plaats van alleen op exacte waarden. De onderstaande tabel toont de meest voorkomende operatoren:
| Operator | Betekenis | Voorbeeld |
|---|---|---|
| $ gt | Groter dan | {Werknemers-ID: {$gt: 2}} |
| $lt | Less neem contact | {Werknemers-ID: {$lt: 5}} |
| $gte | Groter dan of gelijk aan | {age: {$gte: 18}} |
| $te | Less dan of gelijk aan | {age: {$lte: 60}} |
| $ne | Niet gelijk aan | {status: {$ne: โactiefโ}} |
| $in | Komt overeen met elke waarde in een lijst. | {dept: {$in: [โHRโ,โITโ]}} |
Je kunt voorwaarden ook combineren met $and en $or om nauwkeurigere query's te maken. Door de juiste operator te kiezen, blijven query's efficiรซnt en worden alleen de documenten geretourneerd die je applicatie nodig heeft.
Hoe projectie te gebruiken met find()
Standaard retourneert `find()` het volledige document, inclusief alle velden. Vaak heb je echter maar een paar velden nodig, zoals een naam of een ID. MongoDB Hiermee kun je dit beheren met een projectie, een tweede argument dat aan find() wordt doorgegeven en dat de velden opsomt die moeten worden opgenomen of uitgesloten.
Om alleen specifieke velden op te nemen, stelt u deze in op 1 in het projectieobject. De volgende query retourneert alleen het veld EmployeeName voor elk document:
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB Geeft altijd het veld _id terug, tenzij je het expliciet uitsluit. Om het te verbergen, stel je _id in op 0:
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
Je kunt velden ook uitsluiten in plaats van ze op te nemen door ze op 0 in te stellen. De onderstaande query retourneert bijvoorbeeld alle velden behalve Employeeid:
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
Houd er rekening mee dat je inclusie en exclusie niet in dezelfde projectie kunt combineren, behalve voor het veld _id. Het gebruik van projectie vermindert de hoeveelheid gegevens die van de server wordt overgedragen, waardoor query's sneller verlopen en antwoorden gemakkelijker te lezen zijn, met name bij grote documenten.



