统计文档
模板 API 提供各种方法来统计与给定条件匹配的文档数。以下概述其中一种方法。
template.query(Person.class)
.matching(query(where("firstname").is("luke")))
.count();
在 SpringData MongoDB 的 3.x 之前的版本中,计数操作使用 MongoDB 的内部集合统计信息。随着 MongoDB 事务 的引入,这不再可行,因为统计信息无法正确反映事务期间的潜在更改,需要基于聚合的计数方法。因此,在版本 2.x 中,MongoOperations.count()
在没有进行事务时将使用集合统计信息,如果有事务,则使用聚合变体。
从 Spring Data MongoDB 3.x 开始,任何 count
操作都将使用基于聚合的计数方法,通过 MongoDB 的 countDocuments
,而不管是否存在筛选条件。如果应用程序可以接受使用集合统计信息的限制,则 MongoOperations.estimatedCount()
提供了一种替代方案。
通过将 |
MongoDB 的原生 因此,将使用
|