为什么Spring会对MongoRepository作出反应';你没有保存Mono的方法吗?

为什么Spring会对MongoRepository作出反应';你没有保存Mono的方法吗?,spring,mongodb,reactive-programming,spring-data-mongodb,project-reactor,Spring,Mongodb,Reactive Programming,Spring Data Mongodb,Project Reactor,我有一个电影场景,它扩展了ReactiveMongoRepository。我想以一种被动的方式保存一个POJO。但ReactiveMongoRepository不为Mono或Publisher提供保存方法。我必须使用block()方法,或者在ReactiveMongoRepository中使用saveAll方法 公共Mono创建(服务器请求){ Mono movieMono=request.bodytomino(Movie.class); 返回movieRepository.save(movie

我有一个电影场景,它扩展了ReactiveMongoRepository。我想以一种被动的方式保存一个POJO。但ReactiveMongoRepository不为Mono或Publisher提供保存方法。我必须使用
block()
方法,或者在ReactiveMongoRepository中使用
saveAll
方法

公共Mono创建(服务器请求){ Mono movieMono=request.bodytomino(Movie.class); 返回movieRepository.save(movieMono.block())// .flatMap((电影)->ServerResponse.ok().body(fromObject(电影)); }
有没有更好的办法来解决这类问题?我不认为使用块方法是反应式编程的好主意。

您可以这样做

 Mono<Movie> movieMonoSaved = movieMono.flatMap(movieRepository::save);
 return ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved, Movie.class);
Mono movieMonoSaved=movieMono.flatMap(movieRepository::save);
返回ServerResponse.status(HttpStatus.CREATED).body(movieMonoSaved,Movie.class);

一次
保存
看起来仍然很有用。我们提出要讨论增加一个的可能性。