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.