In MongoDB il db.collection.estimatedDocumentCount()
restituisce il conteggio di tutti i documenti in una raccolta o vista.
La collection
part è il nome della raccolta o della vista su cui eseguire l'operazione di conteggio.
Il db.collection.estimatedDocumentCount()
il metodo esegue il wrapping del count
comando.
Esempio
Supponiamo di avere una collezione chiamata pets
con i seguenti documenti:
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 } { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 } { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 } { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 } { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 } { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
Possiamo utilizzare la seguente query per restituire il numero di documenti nella raccolta:
db.pets.estimatedDocumentCount()
Risultato:
7
Il db.collection.estimatedDocumentCount()
il metodo non accetta un filtro di query. Utilizza invece i metadati per restituire il conteggio dei documenti per l'intera raccolta.
Tuttavia, funziona ancora quando viene fornito con un documento vuoto.
db.pets.estimatedDocumentCount({})
Risultato:
7
Il maxTimeMS
Parametro
Il db.collection.estimatedDocumentCount()
accetta un solo parametro (opzionale):il maxTimeMS
parametro. Ciò consente di impostare la quantità massima di tempo che può essere eseguita l'operazione di conteggio.
Esempio:
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })
Risultato:
7
Deprecazione di count()
a favore di estimatedDocumentCount()
Nota che la documentazione di MongoDB afferma quanto segue:
I driver MongoDB compatibili con le funzionalità 4.0 deprecano il rispettivo cursore e la raccolta
count()
API a favore di nuove API percountDocuments()
eestimatedDocumentCount()
. Per i nomi API specifici per un determinato driver, consulta la documentazione del driver.
Maggiori informazioni
In un cluster partizionato, il conteggio risultante non filtrerà correttamente i documenti orfani.
Inoltre, dopo un arresto non corretto, il conteggio potrebbe non essere corretto.
Consulta la documentazione di MongoDB per ulteriori informazioni.