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

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

业务代码这么写的:

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

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

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

怎么解决呢?

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

重新一定一个query对象即可

相关推荐
不知更鸟2 小时前
Django 项目是什么
数据库·sqlite
有一个好名字5 小时前
MyBatis-Plus 三种数据库操作方式详解 + 常用方法大全
数据库·mybatis
-Xie-5 小时前
Redis(八)——多线程与单线程
java·数据库·redis
G探险者5 小时前
为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
数据库·后端·mysql
Albert Tan6 小时前
Oracle EBS R12.2.14 清理FND_LOBS并释放磁盘空间
数据库·oracle
L.EscaRC7 小时前
图数据库Neo4j原理与运用
数据库·oracle·neo4j
知己80807 小时前
docker搭建图数据库neo4j
数据库·docker·neo4j
TDengine (老段)7 小时前
什么是 TDengine IDMP?
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
谅望者7 小时前
数据分析笔记08:Python编程基础-数据类型与变量
数据库·笔记·python·数据分析·概率论
Boilermaker19927 小时前
【MySQL】备份与恢复
数据库·mysql