Loading... > spring-data-[mongodb](https://so.csdn.net/so/search?q=mongodb&spm=1001.2101.3001.7020)-2.20以上 MongoTemplate.count() 计数不对 > ```java hljs > //计数方法public Long count(Query query,Class clazz){ return mongoTemplate.count(basicQuery, clazz); }; > ``` > 下面是出现 计数不对 的重新 只要在spring-data-mongodb-2.20以上 就会出现这个问题 > ```java hljs > Query query=new Query(); query.skip(0); query.limit(10); long conut=count(query,Object.class); //这个count的值始终是10 其实数据库的数据不止是10 > ``` > 如何解决这个问题 > ```java hljs > //修改计数方法解决分页总数出错 public Long count(Query query,Class clazz){ /** * 注意:查询偏移量(offset)和限制条数(limit)可能会直接影响最终查询文档的数量,因为这些值会传递到服务器, * 并可能限制服务器执行计数操作的范围和顺序。所以要使用没有分页数据的对象来查。 */ BasicQuery basicQuery = new BasicQuery(query.getQueryObject().toJson()); return mongoTemplate.count(basicQuery, clazz); }; > ``` > ```html hljs language-xml > 注意:查询偏移量(offset)和限制条数(limit)可能会直接影响最终查询文档的数量,因为这些值会传递到服务器, 并可能限制服务器执行计数操作的范围和顺序。所以要使用没有分页数据的对象来查。 > ``` > # 所以问题的解决办法是把分页的offset和limit去掉即可 最后修改:2022 年 03 月 15 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏