Funzioni Count() e Rimuovi() in MongoDB con l'esempio
โก Riepilogo intelligente
Le funzioni Count() e Remove() in MongoDB Il metodo count() restituisce il numero di documenti presenti in una raccolta e consente di eliminarli. Il metodo remove() elimina tutti i documenti o solo quelli che soddisfano una condizione specificata.

MongoDB Funzione Conta()
Il concetto di aggregazione consiste nell'eseguire un calcolo sui risultati restituiti in una query. Ad esempio, supponiamo che tu voglia sapere qual รจ il conteggio dei documenti in una raccolta in base alla query attivata MongoDB fornisce la funzione count().
Esempio di MongoDB Funzione Conta()
Diamo un'occhiata a un esempio di questo.
db.Employee.count()
Code Spiegazione:
- Il codice precedente esegue la funzione di conteggio.
Se il comando viene eseguito correttamente, verrร visualizzato il seguente output
Produzione:
L'output mostra chiaramente che nella raccolta sono presenti 4 documenti.
MongoDB Conteggio con una condizione di query
Il metodo count() รจ particolarmente utile quando si passa una condizione di query, in modo da contare solo i documenti corrispondenti anzichรฉ l'intera collezione. Questo รจ utile per i report, ad esempio per calcolare quanti dipendenti appartengono a un reparto o quanti ordini sono ancora aperti.
L'esempio seguente conta i dipendenti il โโcui Employeeid รจ maggiore di 2:
db.Employee.count({Employeeid:{$gt:2}})
Ecco cosa succede:
- L'oggetto query {Employeeid:{$gt:2}} funge da filtro, utilizzando l'operatore $gt (maggiore di).
- La funzione count() restituisce solo il numero di documenti che soddisfano il filtro.
- Il resto della collezione viene ignorato nel calcolo del totale.
In corrente MongoDB Nelle diverse versioni, countDocuments() รจ il metodo consigliato per un conteggio condizionale, perchรฉ restituisce sempre un risultato accurato. La stessa query funziona anche con questo metodo:
db.Employee.countDocuments({Employeeid:{$gt:2}})
Entrambi i comandi restituiscono un singolo numero, che รจ possibile memorizzare in una variabile o visualizzare direttamente. L'aggiunta di un indice corrispondente sul campo interrogato mantiene veloci i conteggi condizionali su grandi insiemi di dati.
Esecuzione di modifiche
Le altre due classi di operazioni in MongoDB sono le istruzioni di aggiornamento e rimozione.
Le operazioni di aggiornamento consentono di modificare i dati esistenti e le operazioni di rimozione consentono la cancellazione di dati da una raccolta.
Rimuovi() Funzione in MongoDB
In MongoDB, il db.collection.remove() Il metodo viene utilizzato per rimuovere documenti da una raccolta. ร possibile rimuovere da una raccolta tutti i documenti oppure solo quelli che soddisfano una condizione specifica.
Se esegui semplicemente il comando di rimozione, tutti i documenti verranno rimossi dalla raccolta.
Esempio di MongoDB Funzione Rimuovi()
Il seguente esempio di codice mostra come rimuovere un documento specifico dalla raccolta.
db.Employee.remove({Employeeid:22})
Code Spiegazione:
- Il codice precedente utilizza la funzione di rimozione e specifica il criterio che in questo caso consiste nel rimuovere i documenti che hanno l'ID dipendente pari a 22.
Se il comando viene eseguito correttamente, verrร visualizzato il seguente output
Produzione:
L'output mostrerร che 1 documento รจ stato rimosso.
Rimuovere tutti i documenti o un singolo documento
Il metodo remove() puรฒ eliminare tutti i documenti corrispondenti o solo uno, a seconda degli argomenti passati. Comprendere la differenza previene la perdita accidentale di dati.
Per rimuovere tutti i documenti da una raccolta, passa una condizione vuota:
db.Employee.remove({})
Questa operazione elimina tutti i documenti ma conserva la raccolta stessa. Per rimuovere solo i documenti che corrispondono a una condizione, passa un oggetto query, come mostrato in precedenza con {Employeeid:22}. Se piรน documenti corrispondono e desideri eliminare solo il primo, aggiungi l'opzione justOne:
db.Employee.remove({EmployeeName:"Smith"}, {justOne:true})
Le differenze principali sono:
- remove({}) elimina tutti i documenti nella collezione.
- remove({condition}) elimina ogni documento che corrisponde alla condizione.
- remove({condition}, {justOne:true}) elimina solo il primo documento corrispondente.
Verifica sempre due volte la condizione prima di eseguire un comando di rimozione, perchรฉ un filtro vuoto o errato puรฒ cancellare l'intera raccolta. In moderno MongoDBLe funzioni deleteOne() e deleteMany() sostituiscono questi schemi e rendono l'intento piรน chiaro.
Alternative moderne a count() e remove()
Sia count() che remove() sono metodi legacy. Piรน recenti MongoDB Gli autisti li segnalano come obsoleti e forniscono alternative piรน chiare. La tabella seguente associa ciascun vecchio metodo al suo equivalente moderno:
| Metodo legacy | Sostituzione moderna | Missione |
|---|---|---|
| contare() | countDocuments() | Restituisce un conteggio preciso dei documenti corrispondenti |
| contare() | Numero di documenti stimato() | Restituisce un conteggio rapido e approssimativo di tutti i documenti |
| rimuovere() | eliminaUno() | Elimina il primo documento che corrisponde al filtro |
| rimuovere() | deleteMany() | Elimina tutti i documenti che corrispondono al filtro |
Per le nuove applicazioni, รจ preferibile utilizzare questi metodi moderni. Essi separano il conteggio dalla stima e l'eliminazione di un singolo documento dall'eliminazione di piรน documenti, rendendo le query piรน sicure e facili da leggere. Le funzioni legacy count() e remove() sono ancora valide per i tutorial e gli script piรน datati.


