除非有人订阅了反应式发布者,否则什么都不会发生。这就是为什么当您使用block()时它开始起作用的原因。如果您需要调用数据库并在另一个数据库请求中使用结果,而不是使用诸如map(),flatMap()等Mono
/ Flux运算符…来构建所需所有操作的管道,然后返回结果Mono / Flux作为控制器的响应。Spring将订阅该Mono /
Flux并返回请求。您不需要阻止它。并且不建议这样做(使用block()方法)。
简短示例如何在Java中使用MongoDB反应存储库:
@GetMapping("/users")public Mono<User> getPopulation() { return userRepository.findOldest() .flatMap(user -> { // process the response from DB user.setTheOldest(true); return userRepository.save(user); }) .map(user -> {...}); // another processing}


