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

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

业务代码这么写的:

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

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

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

怎么解决呢?

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

重新一定一个query对象即可

相关推荐
bLEd RING2 小时前
Redis 设置密码无效问题解决
数据库·redis·缓存
WiChP2 小时前
【V0.1B5】从零开始的2D游戏引擎开发之路
java·服务器·数据库
75115893 小时前
笔记:postgresql如何下载驱动并安装?
数据库·postgresql
荒川之神3 小时前
拉链表概念与基本设计
java·开发语言·数据库
Highcharts.js3 小时前
适合报表系统的可视化图表|Highcharts支持直接导出PNG和PDF
javascript·数据库·react.js·pdf
刘~浪地球3 小时前
Redis 从入门到精通(一):简介、安装与配置
数据库·redis·缓存
APIshop3 小时前
Java获取京东商品详情接口(item_get)实战指南
java·linux·数据库
Bat U3 小时前
MySQL数据库|联合查询
数据库·mysql
卢傢蕊4 小时前
MySQL 故障排查与生产环境优化
数据库·mysql
雪碧聊技术4 小时前
数据库的第一、二、三范式分别解决了什么问题?一文详解
数据库·部分依赖·传递依赖·第一、二、三范式·列的原子性