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 d00d8873e..4f9717c0a 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 @@ class ReactiveSpringDataMongodbQuery extends SpringDataMongodbQuerySupport> 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 fbd5a495a..aff5d87e3 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 class ReactiveQuerydslMongoPredicateExecutorTests { .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 class ReactiveQuerydslMongoPredicateExecutorTests { .as(StepVerifier::create) // .assertNext(it -> { + assertThat(it.getContent().size()).isEqualTo(1); assertThat(it.getTotalElements()).isEqualTo(2); assertThat(it.getContent()).contains(oliver); }).verifyComplete();