我在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。
答案 0 :(得分:2)
你应该使用flatMapMany
,它会从Mono
的值中触发异步处理,该值可以发出多个元素:
Flux<Photo> photoFlux = propertyMono
.flatMapMany(prop -> photoService.findByPropertyId(prop.getId()));