MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Unterschied zwischen count() und find().count() in MongoDB

db.collection.count() und cursor.count() sind einfach Wrapper um den count Befehl, wodurch db.collection.count() ausgeführt wird und cursor.count() mit/ohne dasselbe wird dieselbe Abfrage zurückgeben Argument, wird das gleiche Ergebnis zurückgeben. Jedoch die count Ergebnis kann im Sharding-Cluster ungenau sein.

MongoDB-Treiber, die mit den 4.0-Funktionen kompatibel sind, verwerfen ihre jeweiligen Cursor- und Sammlungs-count()-APIs zugunsten der neuen APIs forcountDocuments() und schätzteDocumentCount(). Die spezifischen API-Namen für einen bestimmten Treiber finden Sie in der Treiberdokumentation.

Die db.collection.countDocuments -Methode verwendet intern eine Aggregationsabfrage, um die Dokumentenanzahl zurückzugeben, während db.collection.estimatedDocumentCount/ gibt die Anzahl der Dokumente basierend auf Metadaten zurück.

Erwähnenswert ist, dass der estimatedDocumentCount Ausgabe kann, wie in der Dokumentation erwähnt, ungenau sein.