【发布时间】:2021-09-10 22:33:31
【问题描述】:
在 spring Data 中,我可以轻松地执行如下查询:
Page<MyClass> findByX(String x, Pageable pageable);
在reactive Spring data (MongoDB) 中,我找不到对结果进行分页的有效方法。
Mono<Page<MyClass>> findByX(String x, Pageable pageable);
似乎是一个不错的候选者,但由于需要使用 Flux.buffer(size, skip) 的错误而失败
如果没有有效的方法可以做到这一点,有没有办法在没有 Page 的情况下不实际执行一次查询来获取查询总数?
【问题讨论】:
-
您必须将
Mono<Page<MyClass>>更改为Flux<MyClass>然后在您的存储库中,您将能够将结果添加到内容分页并获取数据库中的总项目。 -
这不是问题所在。当然,我可以使用 Flux(这就是使用的原因,因为找不到获取页面数据的方法)。问题是如何获取页面数据作为响应的一部分。
标签: spring spring-boot spring-data spring-webflux spring-data-mongodb