文档菜单

文档首页开发应用程序Python 驱动程序PyMongo

计算文档数量

本页内容

  • 概述
  • 获取准确的计数
  • 计数所有文档
  • 计数特定文档
  • 自定义计数行为
  • 获取估计计数
  • 自定义估计计数行为
  • 故障排除
  • 弃用警告:计数已弃用
  • API 文档

在本指南中,您可以学习如何检索集合中文档数量的准确和估计值。

使用count_documents() 方法来计数集合中的文档数量。要计数匹配特定搜索标准的文档数量,将包含查询筛选器的字典传递给 count_documents() 方法。

有关指定查询的更多信息,请参阅 指定查询。

要返回集合中所有文档的计数,将空字典传递给count_documents()方法,如下例所示

collection.count_documents({})

要返回与特定搜索条件匹配的文档计数,在count_documents()方法中指定您的查询,如下例所示

collection.count_documents({ "author": "Mike" })

count_documents()方法接受可选参数,代表您可以用来配置计数操作选项。如果您没有指定任何选项,驱动程序不会自定义计数操作。

下表描述了您可以设置的选项,以自定义count_documents()

属性
描述
comment
附加到操作上的注释。
session
ClientSession的实例。
skip
返回结果前要跳过的文档数量。
limit
要计数的最大文档数。必须是正整数。
maxTimeMS
允许操作运行的最大时间,以毫秒为单位。
collation
Collation的实例。
hint
获取或设置用于扫描文档的索引。

您可以通过调用estimated_document_count()方法来获取集合中文档数量的估计值。该方法根据集合元数据估计文档数量,可能比执行准确计数更快。

以下示例估计集合中的文档数量

collection.estimated_document_count()

estimated_document_count()方法接受可选参数,代表您可以用来配置计数操作选项。如果您没有指定任何选项,驱动程序不会自定义计数操作。

下表描述了您可以设置的选项,以自定义estimated_document_count()

属性
描述
comment
附加到操作上的注释。
maxTimeMS
允许操作运行的最大时间,以毫秒为单位。

PyMongo不再支持count()方法。相反,请使用Collection类中的count_documents()方法。

重要

方法 count_documents() 属于 Collection 类。如果您尝试调用 Cursor.count_documents(),PyMongo 会抛出以下错误

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Cursor' object has no attribute 'count'

要了解本指南中讨论的任何方法或类型,请参阅以下 API 文档

  • count_documents()

  • estimated_document_count()

  • 排序

  • 客户端会话

← 指定要返回的文档