我正在尝试使用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/

10-09 12:36