Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据mongodb可分页_Java_Spring_Mongodb - Fatal编程技术网

Java Spring数据mongodb可分页

Java Spring数据mongodb可分页,java,spring,mongodb,Java,Spring,Mongodb,我试图使用spring data mongodb进行分页,但是我发现第一个imt工作,但是如果我增加分页中的页码,总是会返回0条记录。 这是我的代码: 我服务的代码 @Override public List<Purchase> findByUserId(String userId, int pageNumber) { Pageable request = new PageRequest(pageNumber - 1, PAG

我试图使用spring data mongodb进行分页,但是我发现第一个imt工作,但是如果我增加分页中的页码,总是会返回0条记录。 这是我的代码:

我服务的代码

 @Override
    public List<Purchase> findByUserId(String userId, int pageNumber) {
        Pageable request =
                new PageRequest(pageNumber - 1, PAGE_SIZE);
        return purchaseRepository.findByUserId(userId, request).getContent();
    }
@覆盖
公共列表findByUserId(字符串userId,int pageNumber){
可分页请求=
新页面请求(页码-1,页面大小);
返回purchaseRepository.findByUserId(userId,request.getContent();
}
这里是存储库

@Component
public interface PurchaseRepository extends MongoRepository<Purchase, Integer> {

    Purchase findById(@Param("id") String id);

    Page<Purchase> findByUserId(@Param("userId") String userId,Pageable pageable);

    List<Purchase> findAll();


}
@组件
公共接口PurchaseRepository扩展了MongoRepository{
购买findById(@Param(“id”)字符串id);
Page findByUserId(@Param(“userId”)字符串userId,可分页;
列出findAll();
}
但就像我说的,当页码为1时,一切都正常。但当第二次是10时,结果是0 PAGE_SIZE=10是的,我已经检查了数据库,我已经有15个文档了


有什么想法吗?

如果您有15个文档,pageSize=10,则第0页和第1页中的数据分别包含10个和5个元素。后续页面不应获取任何对象

只需检查-您是否有15个文档用于搜索用户ID?第一次工作时-getTotalElements()的值是多少?第二次的页码应该是2对,为什么是10?天哪!,太愚蠢了,我才意识到页码是1,2,3,4,我想如果页面大小是10,我应该发送1,10,20。