diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/ReactiveSpringDataMongodbQuery.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/ReactiveSpringDataMongodbQuery.java index d00d8873e5..4f9717c0ad 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/ReactiveSpringDataMongodbQuery.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/ReactiveSpringDataMongodbQuery.java @@ -96,7 +96,8 @@ Flux fetch() { */ Mono> fetchPage(Pageable pageable) { - Mono> content = createQuery().flatMapMany(it -> find.matching(it).all()).collectList(); + Mono> content = createQuery().map(it -> it.with(pageable)) + .flatMapMany(it -> find.matching(it).all()).collectList(); return content.flatMap(it -> ReactivePageableExecutionUtils.getPage(it, pageable, fetchCount())); } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/ReactiveQuerydslMongoPredicateExecutorTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/ReactiveQuerydslMongoPredicateExecutorTests.java index fbd5a495a8..aff5d87e36 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/ReactiveQuerydslMongoPredicateExecutorTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/support/ReactiveQuerydslMongoPredicateExecutorTests.java @@ -400,6 +400,7 @@ public void findByShouldApplyPagination() { .as(StepVerifier::create) // .assertNext(it -> { + assertThat(it.getContent().size()).isEqualTo(1); assertThat(it.getTotalElements()).isEqualTo(2); assertThat(it.getContent()).contains(dave); }).verifyComplete(); @@ -409,6 +410,7 @@ public void findByShouldApplyPagination() { .as(StepVerifier::create) // .assertNext(it -> { + assertThat(it.getContent().size()).isEqualTo(1); assertThat(it.getTotalElements()).isEqualTo(2); assertThat(it.getContent()).contains(oliver); }).verifyComplete();