MongoDB Documento di query: db.collection.find() con esempio
⚡ Riepilogo intelligente
MongoDB Le operazioni di query sui documenti recuperano i record da una collezione utilizzando la funzione db.collection.find(). Il metodo restituisce tutti i documenti per impostazione predefinita, accetta criteri di filtro come la corrispondenza dei campi e l'operatore $gt e formatta i risultati con il comando forEach(printjson).

Il metodo per recuperare o ottenere dati da a MongoDB il database viene eseguito utilizzando MongoDB interrogazioni. Durante l'esecuzione di un'operazione di query, è anche possibile utilizzare criteri o condizioni che possono essere utilizzati per recuperare dati specifici dal database.
MongoDB fornisce una funzione chiamata db.raccolta.find() che viene utilizzato per il recupero di documenti da a MongoDB Banca dati.
Nel corso di questo MongoDB tutorial sulle query, vedrai come questa funzione viene utilizzata in vari modi per raggiungere lo scopo di recupero dei documenti.
Che cos'è db.collection.find() in MongoDB?
Il metodo db.collection.find() è il modo principale per leggere i documenti da un MongoDB collezione. Quando la chiami senza argomenti, restituisce tutti i documenti della collezione. Quando passi un oggetto query, restituisce solo i documenti che corrispondono ai criteri specificati, in modo da poter recuperare esattamente i dati di cui hai bisogno.
Il metodo restituisce un cursore, che è un puntatore al set di risultati piuttosto che ai documenti stessi. In genere si scorre il cursore per visualizzare i risultati, spesso con forEach(printjson) per mostrare ogni documento in un formato JSON leggibile. Se è necessario solo un singolo record, MongoDB fornisce anche findOne(), che restituisce il primo documento corrispondente invece di un cursore. Insieme, find() e findOne() coprono la maggior parte delle operazioni di lettura in un MongoDB database, dal recupero di intere collezioni al filtraggio in base a valori di campi specifici.
MongoDB Domanda di base Operazioni
La base MongoDB gli operatori di query coprono operazioni semplici come ottenere tutti i documenti in un file MongoDB collezione. Diamo un'occhiata a un esempio db.collection.find di come possiamo ottenere questo risultato.
Tutto il nostro codice verrà eseguito nel file MongoDB JavaCopione shell dei comandi. Considera che abbiamo una raccolta denominata "Employee" nel nostro MongoDB database ed eseguiamo il comando seguente.

Code Spiegazione:
- Employee è il nome della raccolta nel file MongoDB banca dati
- Migliori MongoDB find query è una funzione integrata che viene utilizzata per recuperare i documenti nella raccolta.
Se il comando viene eseguito correttamente, verrà visualizzato il seguente output per il MongoDB trova esempio
Produzione:
L'output mostra tutti i documenti presenti nella raccolta.
Possiamo anche aggiungere criteri alle nostre query in modo da poter recuperare i documenti in base a determinate condizioni.
MongoDB Esempio di query – 1
Diamo un'occhiata a un paio di MongoDB chiedere esempi di come possiamo raggiungere questo obiettivo.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code Spiegazione:
- Qui vogliamo trovare un dipendente il cui nome è "Smith" nella raccolta, quindi inseriamo i criteri di filtro come EmployeeName: "Smith"
Se il comando viene eseguito correttamente, verrà visualizzato il seguente output
Produzione:
L'output mostra che viene restituito solo il documento che contiene "Smith" come nome del dipendente.
MongoDB Esempio di query – 2
Ora in questo MongoDB query tutorial, diamo un'occhiata a un altro esempio di codice che utilizza il criterio di ricerca maggiore di. Quando questo criterio è incluso, ricerca effettivamente quei documenti in cui il valore del campo è maggiore del valore specificato.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code Spiegazione:
- Qui vogliamo trovare tutti gli Employee il cui ID è maggiore di 2. $gt è chiamato operatore di selezione della query e ciò che significa è utilizzare l'espressione maggiore di.
Se l' MongoDB il comando select fields viene eseguito correttamente, verrà visualizzato il seguente output
Produzione:
Vengono restituiti tutti i documenti in cui l'ID dipendente è maggiore di 2.
MongoDB domanda OperaTors
MongoDB Filtra i documenti utilizzando gli operatori di selezione della query all'interno dei criteri di find(). Questi operatori consentono di trovare corrispondenze con intervalli, elenchi e negazioni, anziché solo con valori esatti. La tabella seguente elenca gli operatori più comuni:
| Operator | Significato | Esempio |
|---|---|---|
| $gt | Maggiore di | {Employeeid: {$gt: 2}} |
| $ lt | Less di | {Employeeid: {$lt: 5}} |
| $gte | Maggiore o uguale a | {età: {$gte: 18}} |
| $lte | Less maggiore o uguale a | {età: {$lte: 60}} |
| $ne | Non uguale a | {stato: {$ne: “attivo”}} |
| $in | Corrisponde a qualsiasi valore in un elenco | {reparto: {$in: [“Risorse umane”,”IT”]}} |
È inoltre possibile combinare le condizioni con $and e $or per creare query più precise. La scelta dell'operatore corretto mantiene le query efficienti e restituisce solo i documenti necessari all'applicazione.
Come utilizzare la proiezione con find()
Per impostazione predefinita, il metodo find() restituisce l'intero documento, inclusi tutti i campi. Spesso, però, sono necessari solo pochi campi, come ad esempio un nome o un ID. MongoDB consente di controllare questo aspetto tramite una proiezione, ovvero un secondo argomento passato a find() che elenca i campi da includere o escludere.
Per includere solo campi specifici, impostarli a 1 nell'oggetto di proiezione. La seguente query restituisce solo il campo EmployeeName per ogni documento:
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB Il campo _id viene sempre restituito a meno che non venga escluso esplicitamente. Per nasconderlo, impostare _id a 0:
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
È anche possibile escludere i campi anziché includerli, impostandoli a 0. Ad esempio, la query seguente restituisce tutti i campi tranne Employeeid:
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
Tieni presente che non è possibile combinare inclusione ed esclusione nella stessa proiezione, ad eccezione del campo _id. L'utilizzo della proiezione riduce la quantità di dati trasferiti dal server, rendendo le query più veloci e le risposte più facili da leggere, soprattutto in presenza di documenti di grandi dimensioni.



