MongoDB中count()和find().count()之间的区别

Abh*_*hra 34 mongodb mongodb-query

有什么区别,我基本上想找到mycollection中的所有文件. db.mycollection.count()vs db.mycollection.find().count()

它们都返回相同的结果.是否有人选择count()vs find().count()?与find()应用默认限制的事实相反(如果我错了,请纠正我),为了在shell中查看更多信息,您必须输入"it".

sty*_*ane 41

db.collection.count()并且cursor.count()简单地围绕count命令运行db.collection.count()并且cursor.count()有/无相同的将返回相同的查询参数,将返回相同的结果.但是,分片群集中count结果可能不准确.

与4.0功能兼容的MongoDB驱动程序不推荐使用各自的游标和集合count()API,而是使用countDocuments()和estimatedDocumentCount()的新API.有关给定驱动程序的特定API名称,请参阅驱动程序文档.

db.collection.countDocuments方法在内部使用聚合查询来返回文档计数,同时db.collection.estimatedDocumentCount/根据元数据返回文档计数.

值得一提的是estimatedDocumentCount,文档中提到的输出可能不准确.


she*_*lak 16

db.collection.count()不带参数计算集合中的所有文档.db.collection.find()没有参数匹配集合中的所有文档,并附加count()计数它们,所以没有区别.

这在db.collection.count()文档中明确确认:

要计算订单集合中所有文档的数量,请使用以下操作:

db.orders.count()

此操作等效于以下内容:

db.orders.find().count()