spring-data-mongodb 使用误区之Query对象共用

今天遇见一个问题,使用mongoTemplate 分页查询数据,查询出的totalCount 总是等于 列表的数量,导致分页出现bug,

业务代码这么写的:

然后追寻源码,看看queryTotal 这个方法 是怎么查询的, 其中找到了这么一段源码:

突然灵关一闪,这个limit的设置,是在查询列表分页时候设置过了,代码如下:

而这里的query 对象 ,被queryTotal 和 queyrListByPage 共用了,所以才导致totalCount 和 list的数量一致了;

怎么解决呢?

当然是不共用query对象就可以了,或者将 limit 属性清空也可以

重新一定一个query对象即可

相关推荐
weixin_511255211 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅2 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan2 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
做运维的阿瑞2 小时前
数据库增删改的安全写法
数据库·sql·mysql
程序边界3 小时前
迁移评估不再拍脑袋,这个数据迁移工具的量化报告把我救了(上)
数据库
阿狗童鞋3 小时前
Redis实战指南
数据库·redis·缓存
lupai4 小时前
维修保养记录精准版 API 对接实战指南
数据库·python
2601_952196367 小时前
计算机科学与技术专业应届生投商业分析岗,需要哪些额外能力?
数据库·oracle
皮皮学姐分享-ppx7 小时前
地级市、省级人才政策强度测算(2000-2025)
大数据·数据库·人工智能·百度·高考
晚安日记wanna7 小时前
大厂禁 JOIN 的真正原因,拆到第四层才清楚
数据库·后端·面试