文档首页 → 开发应用程序 → Python 驱动程序 → PyMongo
计算文档数量
概述
在本指南中,您可以学习如何检索集合中文档数量的准确和估计值。
获取准确计数
使用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 | 允许操作运行的最大时间,以毫秒为单位。 |
故障排除
DeprecationWarning: Count Is Deprecated
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 文档
要了解本指南中讨论的任何方法或类型,请参阅以下 API 文档