首页 > 解决方案 > 如何在 spring-data-mongo-reactive 中组合多个文档查询?

问题描述

我对反应流非常陌生并且有一些疑问。假设我有一个服务,我想返回关于一个人的报告,返回的对象具有以下结构:

data class Report(
    val person: Person,
    val addresses: List<Address>,
    val jobs: List<Job>,
    val credits: List<Credit>
)

报告中的每个字段都将为不同的集合填充,这是如何以反应方式完成的?在传统的阻塞方式中,我会写如下内容:

fun getReport(personId: String): Report {
    val person = personRepository.findById(personId)
    val addresses = adressRepository.findByPersonId(personId)
    val credits = creditRepository.findByPersonId(personId)
    val jobs = jobRepository.findByPersonId(personId)
    return Report(
        person = person,
        addresses = addresses,
        credits = credits,
        jobs = jobs
    )
}

但我不确定反应式编程应该以什么方式完成。我不知道是否可以在这里使用concat结合collectMap使用,并且会欣赏这个主题的一些亮点。

标签: springspring-data-mongodb

解决方案


推荐阅读