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

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

业务代码这么写的:

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

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

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

怎么解决呢?

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

重新一定一个query对象即可

相关推荐
敖云岚1 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式
LUCIAZZZ2 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池
我在北京coding2 小时前
300道GaussDB(WMS)题目及答案。
数据库·gaussdb
小Tomkk2 小时前
阿里云 RDS mysql 5.7 怎么 添加白名单 并链接数据库
数据库·mysql·阿里云
明月醉窗台3 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
沉到海底去吧Go4 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
老纪的技术唠嗑局4 小时前
重剑无锋,大巧不工 —— OceanBase 中的 Nest Loop Join 使用技巧分享
数据库·sql
未来之窗软件服务5 小时前
JAVASCRIPT 前端数据库-V6--仙盟数据库架构-—-—仙盟创梦IDE
数据库·数据库架构·仙盟创梦ide·东方仙盟·东方仙盟数据库
一只爱撸猫的程序猿6 小时前
构建一个简单的智能文档问答系统实例
数据库·spring boot·aigc
nanzhuhe6 小时前
sql中group by使用场景
数据库·sql·数据挖掘