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

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

业务代码这么写的:

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

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

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

怎么解决呢?

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

重新一定一个query对象即可

相关推荐
Amnesia0_016 分钟前
MYSQL表的约束
数据库·mysql
C137的本贾尼17 分钟前
锁的分类:表锁、行锁、页锁与意向锁
数据库
Full Stack Developme19 分钟前
SQL 执行顺序 及 全部关键字
数据库·sql
专注API从业者26 分钟前
电商选品效率翻倍!基于 Open Claw + 淘宝商品 API 实现自动化监控选品(附完整可运行代码)
大数据·运维·数据结构·数据库·自动化
C137的本贾尼26 分钟前
InnoDB 内存架构:Buffer Pool、Change Buffer 与 Log Buffer
数据库·oracle·架构
DigitalOcean32 分钟前
深度评测:RAG 向量数据库选型指南 —— OpenSearch、Weaviate、pgvector 怎么选?
数据库·ai编程
云计算磊哥@34 分钟前
运维开发宝典025-MySQL01数据库的安装和配置
运维·数据库·运维开发
Bert.Cai1 小时前
SQLPlus简介
数据库·oracle
超梦dasgg1 小时前
Redis ZSet(有序集合)底层数据结构
数据结构·数据库·redis
渣渣盟1 小时前
MySQL DQL全面解析:从入门到精通
数据库·sql·mysql·dql