Docs 菜单

Docs 主页开发应用程序Python 驱动程序pymongo

计算文档

在此页面上

  • Overview
  • 检索准确的计数
  • 对所有文档进行计数
  • 对特定文档进行计数
  • 自定义计数行为
  • 检索估计计数
  • 自定义估计计数行为
  • 故障排除
  • DeprecationWarning:Count 已弃用
  • API 文档

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

使用 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.

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

  • 排序规则

  • ClientSession

← 指定要返回的文档