MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB stimatoDocumentCount()

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 per countDocuments() e estimatedDocumentCount() . 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.