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

Differenza tra count() e find().count() in MongoDB

db.collection.count() e cursor.count() sono semplicemente dei wrapper attorno al count comando eseguendo quindi db.collection.count() e cursor.count() con/senza lo stesso restituirà la stessa query argomento, restituirà lo stesso risultato. Tuttavia il count il risultato può essere impreciso nel cluster partizionato.

I driver MongoDB compatibili con le funzionalità 4.0 deprecano le rispettive API del cursore e della raccolta count() a favore delle nuove API forcountDocuments() estimatedDocumentCount(). Per i nomi API specifici per un determinato driver, vedere la documentazione del driver.

Il db.collection.countDocuments utilizza internamente una query di aggregazione per restituire il conteggio dei documenti mentre db.collection.estimatedDocumentCount/ restituisce il conteggio dei documenti in base ai metadati.

Vale la pena ricordare che il estimatedDocumentCount l'output può essere impreciso come indicato nella documentazione.