|
此版本仍在开发中,尚未被视为稳定版。如需最新稳定版本,请使用 Spring Data MongoDB 5.0.4! |
统计文档数量
模板 API 提供了多种方法来统计匹配给定条件的文档数量。 下面列出了其中一种方法。
template.query(Person.class)
.matching(query(where("firstname").is("luke")))
.count();
在 Spring Data MongoDB 3.x 之前的版本中,count 操作使用的是 MongoDB 内部的集合统计信息。
随着MongoDB 事务的引入,这种方式不再可行,因为在事务过程中,统计信息无法正确反映可能发生的变更,因此需要采用基于聚合(aggregation)的计数方式。
因此,在 2.x 版本中,MongoOperations.count() 在没有进行中的事务时会使用集合统计信息,而在存在事务时则使用聚合变体。
从 Spring Data MongoDB 3.x 起,任何 count 操作都会通过 MongoDB 的 countDocuments 使用基于聚合的计数方法,无论是否存在过滤条件。
如果应用程序可以接受基于集合统计信息的限制,则 MongoOperations.estimatedCount() 提供了一种替代方案。
|
通过将 |
|
MongoDB 原生的 因此,对于
|