文档菜单
文档首页
/ / /
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() 方法。相反,请使用 count_documents() 方法,它位于 Collection 类中。

重要

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()

  • 排序规则

  • ClientSession

返回

指定要返回的文档