计算文档
Overview
在本指南中,您可以了解如何检索集合中文档数量的准确估计数。
检索准确的计数
使用 count_documents()
方法计算集合中的文档数量。 要计算与特定Atlas Search条件匹配的文档数量,请将包含查询筛选器的字典传递给 count_documents()
方法。
要学习;了解有关指定查询的更多信息,请参阅指定查询。
对所有文档进行计数
要返回集合中所有文档的计数,请将空字典传递给count_documents()
方法,如以下示例所示:
collection.count_documents({})
对特定文档进行计数
要返回与特定Atlas Search条件匹配的文档计数,请在 count_documents()
方法中指定您的查询,如以下示例所示:
collection.count_documents({ "author": "Mike" })
自定义计数行为
count_documents()
方法接受可选参数,这些参数表示可用于配置计数操作的选项。 如果不指定任何选项,驱动程序不会自定义计数操作。
下表描述了可以设置用于自定义count_documents()
的选项:
属性 | 说明 |
---|---|
comment | A comment to attach to the operation. |
session | An instance of ClientSession . |
skip | The number of documents to skip before returning results. |
limit | The maximum number of documents to count. Must be a positive integer. |
maxTimeMS | The maximum amount of time to allow the operation to run, in
milliseconds. |
collation | An instance of Collation . |
hint | Gets or sets the index to scan for documents. |
检索估计计数
您可以通过调用estimated_document_count()
方法来估计集合中的文档数量。 该方法根据集合元数据估计文档数量,这可能比执行精确计数更快。
以下示例估计集合中的文档数量:
collection.estimated_document_count()
自定义估计计数行为
estimated_document_count()
方法接受可选参数,这些参数表示可用于配置计数操作的选项。 如果不指定任何选项,驱动程序不会自定义计数操作。
下表描述了可以设置用于自定义estimated_document_count()
的选项:
属性 | 说明 |
---|---|
comment | A comment to attach to the operation. |
maxTimeMS | The maximum amount of time to allow the operation to run, in
milliseconds. |
故障排除
DeprecationWarning:Count 已弃用
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 文档: