Docs 菜单

MongoDB\Collection::countDocuments()

1.4 版本中的新增功能

MongoDB\Collection::countDocuments()

计算符合筛选条件的文档数量。

function countDocuments(array|object $filter = [], array $options = []): integer
$filter : array|object
指定要计数的文档的筛选条件。
$options : array

指定所需选项的数组。

名称
类型
说明

排序规则

数组|对象

排序规则允许用户为string比较指定特定于语言的规则,例如字母大小写和重音符号规则。 指定排序规则时, locale字段为必填字段;所有其他排序规则字段都是可选的。 有关字段的说明,请参阅排序规则文档。

如果未指定排序规则但集合具有默认排序规则,则操作将使用为集合指定的排序规则。如果没有为集合或操作指定排序规则,MongoDB 将使用先前版本中用于字符串比较的简单二进制比较。

comment

混合

使用户可以指定任意注释来帮助通过数据库分析器currentOp 输出和日志来跟踪操作。

评论可以是自 MongoDB 4.4 以来任何有效的 BSON 类型。早期服务器版本仅支持字符串值。

提示

字符串|数组|对象

要使用的索引。将索引名称指定为字符串或将索引键模式指定为文档。如果指定,查询系统将只考虑使用提示索引的计划。

limit

整型

要返回的匹配文档的最大数量。

maxTimeMS

整型

处理游标操作的累计时间限制(以毫秒为单位)。MongoDB 最早会在中断点之后中止操作。

事务外的

读取关注以用于操作。 默认为集合的读关注。

无法将单个操作的读关注指定为事务的一部分。 相反,请在readConcern 启动事务 时设置 选项。

readPreference

读取要用于操作的偏好。 默认为集合的读取偏好。

会话

与操作相关联的客户端会话。

跳过

整型

返回结果之前要跳过的匹配文档数。

与筛选条件匹配的文档数量。

MongoDB\Exception\UnexpectedValueException如果来自服务器的命令响应格式不正确)。

MongoDB\Exception\UnsupportedException,如果所选服务器使用了选项但不支持选项(例如collationreadConcernwriteConcern)。

MongoDB\Exception\InvalidArgumentException表示与参数或选项解析相关的错误。

MongoDB\ 驱动程序\Exception\RuntimeException 对于扩展级别的其他错误(例如连接错误)。

在内部,该方法使用$group聚合管道操作符来获取结果。 如果给出了filter参数,则会将其转换为$match管道操作符。 可选的$skip$limit阶段如果存在于选项中,则添加在$matchgroup之间。

注意

此方法对服务器端的文档进行计数。 要获得不带筛选器的大致文档总数,可以使用MongoDB\Collection::estimatedDocumentCount()方法。 此方法根据collection元数据估计文档数量,因此会为了性能而牺牲准确性。

由于此方法使用聚合管道,因此无法使用MongoDB\Collection::count() filter中接受的某些查询运算符。 请考虑使用以下受限操作符的替代方案:

在评估查询条件时,MongoDB 会根据自己 的 比较规则来BSON types 比较类型和值,这不同于 的PHP 比较 类型杂技 规则。匹配特殊BSON类型时,查询条件应使用相应的 BSON类 在扩展(例如使用 MongoDB\ BSON\ObjectId 以匹配 ObjectId )。