【发布时间】:2019-07-13 12:17:29
【问题描述】:
我正在尝试在 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,如果我订阅我不确定如何返回该值。
【问题讨论】:
-
您应该能够通过单个操作合并服务器上的查找和更新,例如updateMulti docs.spring.io/spring-data/mongodb/docs/current/api/org/…
标签: java mongodb spring-boot project-reactor