【问题标题】:How to get Flux out of list that is inside Mono?如何将 Flux 从 Mono 中的列表中删除?
【发布时间】:2023-03-17 02:48:01
【问题描述】:

我有一个带有一个包含列表的对象的 Mono。我需要从 Mono 中取出该列表并将其放入 Flux 中。

public Flux<Message> getMessages(String id) {
        return chatDAO.findById(id);
}

findById 方法接受一个聊天的 id 并返回 Mono&lt;Chat&gt; 其中Chat 有一个消息列表。我想获取该消息列表并将其转换为Flux&lt;Messages&gt;

【问题讨论】:

标签: java reactive-programming spring-mongodb


【解决方案1】:

您可以通过以下方式简单地使用Mono#flatMapMany 和Flux#fromIterable 方法的组合

public Flux<Message> getMessages(String id) {
    return chatDAO.findById(id)
                  .map(Chat::getMessages) //assumes that you have getter for your messages
                  .flatMapMany(Flux::fromIterable);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 2020-02-28
    • 2021-09-30
    • 2020-03-17
    • 2020-01-28
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多