我正在尝试使用Spring Boot中的MongoDB反应式模板以反应式方式获取UpdateResult。
问题在于更新部分将不会执行,因为我没有订阅它,但是我真的不知道如何执行2个操作并使用反应性范式返回一个值。
这是我正在尝试的:
@GetMapping("\update")
public Mono<UpdateResult> updateTask(@RequestParam(name="taskId") {
Mono<UpdateResult> updateResult = mongoReactiveTemplate
.findById(taskId, Task.class)
.flatmap(object -> mongoReactiveTemplate.updateFirst(Query.query(... the query), new Update().set("something", Task.class)));
return updateresult;
}
flatMap updateFirst不会发生,因为我没有订阅,但是如果我不知道如何返回该值,则需要返回UpdateResult。
最佳答案
控制器“订阅”该流,因此返回Mono<UpdateResult>
非常好,并且可以按预期工作-HTTP客户端将获得序列化的更新结果。
关于java - 使用响应式(Reactive)MongoDB模板返回Mono <UpdateResult>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57019089/