今天遇见一个问题,使用mongoTemplate 分页查询数据,查询出的totalCount 总是等于 列表的数量,导致分页出现bug,
业务代码这么写的:
然后追寻源码,看看queryTotal 这个方法 是怎么查询的, 其中找到了这么一段源码:
突然灵关一闪,这个limit的设置,是在查询列表分页时候设置过了,代码如下:
而这里的query 对象 ,被queryTotal 和 queyrListByPage 共用了,所以才导致totalCount 和 list的数量一致了;
怎么解决呢?
当然是不共用query对象就可以了,或者将 limit 属性清空也可以
重新一定一个query对象即可