Docs 菜单

Docs 主页开发应用程序MongoDB Manual

db.collection.estimatedDocumentCount()

在此页面上

  • 定义
  • 行为
  • 例子
db.collection.estimatedDocumentCount(options)

重要

mongosh 方法

本页介绍了 mongosh方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。

对于数据库命令,请参阅 collStats 命令返回的 count 字段。

对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

返回集合或视图中所有文档的计数。

db.collection.estimatedDocumentCount( <options> )
范围
类型
说明
选项
文档
可选。影响计数行为的额外选项。

options 文档可以包含:

字段
类型
说明
maxTimeMS
整型
可选。允许计数运行的最长时间。

db.collection.estimatedDocumentCount() 不采用查询筛选器,而是使用元数据返回集合的计数。

对于视图:

  • 没有元数据。

  • 通过在视图定义中执行聚合管道来计算文档计数。

  • 不存在快速估计的文档计数。

在分片集群上,所产生的计数将无法正确剔除孤立文档

本节仅适用于集合。

非正常关闭后,计数可能不正确。

mongod使用 Wired Tiger 存储引擎的 非正常关闭后,db.collection.estimatedDocumentCount() 报告的计数统计信息可能不准确。

偏差的大小取决于在最后一个检查点和非正常关闭之间执行的插入、更新或删除操作的次数。检查点通常每 60 秒出现一次。但是,如果 mongod 实例使用了非默认的 --syncdelay 设置,则检查点出现的次数可能会增多或减少。

mongod 的每个集合上运行 validate,以在非正常关闭之后恢复统计信息。

非正常关闭后:

从 MongoDB4 开始。2 ,如果发出 的客户端在操作完成之前断开连接,MongoDBdb.collection.estimatedDocumentCount() 会使用db.collection.estimatedDocumentCount() killOp将 标记为终止。

当您在事务中使用db.collection.estimatedDocumentCount()时,生成的计数不会过滤掉任何未提交的多文档事务。

以下示例使用db.collection.estimatedDocumentCount()检索orders集合中所有文档的计数:

db.orders.estimatedDocumentCount({})

提示

← db.collection.ensureIndex()

在此页面上