如何在Spring Reactive API中从Mono <k>获取Flux <t>?

时间:2018-04-16 17:02:42

标签: spring project-reactor

我在NoSQL文档db Photo and Property中有两个独立的集合,其中Photo有propertyId参数,这意味着我可以找到所有属于给定属性的照片,如房子。通常没有反应,我只会这样做:

Property property = ....
List<Photo> = photoService.findByPropertyId(property.getId());

只需两行。我有

时如何在反应式编程中进行上述操作
`Mono<Property> and I want to find Flux<Photo>

不使用block()?`假设aphotoService.findByPropertyId返回List并且在反应情况下它返回Flux。

1 个答案:

答案 0 :(得分:2)

你应该使用flatMapMany,它会从Mono的值中触发异步处理,该值可以发出多个元素:

Flux<Photo> photoFlux = propertyMono
    .flatMapMany(prop -> photoService.findByPropertyId(prop.getId()));