diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java index ff412f9be..5dcfdec8f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/support/SimpleReactiveMongoRepository.java @@ -92,12 +92,12 @@ public class SimpleReactiveMongoRepository implement q.limit(2); return mongoOperations.find(q, example.getProbeType(), entityInformation.getCollectionName()).buffer(2) - .flatMap(vals -> { + .map(vals -> { if (vals.size() > 1) { - return Mono.error(new IncorrectResultSizeDataAccessException(1)); + throw new IncorrectResultSizeDataAccessException(1); } - return Mono.just(vals.iterator().next()); + return vals.iterator().next(); }).next(); } @@ -315,10 +315,9 @@ public class SimpleReactiveMongoRepository implement Assert.notNull(entityStream, "The given Publisher of entities must not be null!"); - return Flux.from(entityStream) - .flatMap(entity -> entityInformation.isNew(entity) ? // - mongoOperations.insert(entity, entityInformation.getCollectionName()).then(Mono.just(entity)) : // - mongoOperations.save(entity, entityInformation.getCollectionName()).then(Mono.just(entity))); + return Flux.from(entityStream).flatMap(entity -> entityInformation.isNew(entity) ? // + mongoOperations.insert(entity, entityInformation.getCollectionName()).then(Mono.just(entity)) : // + mongoOperations.save(entity, entityInformation.getCollectionName()).then(Mono.just(entity))); } /* diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/SimpleReactiveMongoRepositoryTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/SimpleReactiveMongoRepositoryTests.java index f01f53a33..9da351d62 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/SimpleReactiveMongoRepositoryTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/SimpleReactiveMongoRepositoryTests.java @@ -443,7 +443,7 @@ public class SimpleReactiveMongoRepositoryTests implements BeanClassLoaderAware, } @Test // DATAMONGO-1907 - public void existsByExampleShouldReturnNonExistingWithoutThrowException() { + public void findOneByExampleWithoutResultShouldCompleteEmpty() { Example example = Example.of(new ReactivePerson("foo", "bar", -1));