我的代码采用这种结构-
Mono<Address> m1 = method1() // this call returns address
Mono<Boolean> m2 = method2() // this call uses ReactiveMongoTemplate and updates document in Mongo
我正在努力实现这一目标:
当method1()返回我的地址时,我需要使用它并调用method2()来更新MongoDB文档中的地址。也没有抛出异常。但是我在method2()中看不到任何日志
代码:
Mono<Object> m1 = method1().map(address -> method2(address));
尽管调用了method2(),但MongoDB中的文档更新并未发生。
答案 0 :(得分:0)
您的代码段返回Mono<Mono<Boolean>>
,因此没有订阅内部Mono
。
您可能应该像这样use the Mono.flatMap
operator:
Mono<Boolean> m1 = method1().flatMap(address -> method2(address));
该操作员将拉平操作链。