title: Combining result from Flux to result from Mono
body: <p>I started using Project reactor and one place where I'm struggling little is how do I combine things coming from Mono with Flux. Here's my use case: </p>
  
  <pre><code>public interface GroupRepository {
         Mono&lt;GroupModel&gt; getGroup(Long groupId);
  }
  
  public interface UserRepository {
         Flux&lt;User&gt; getUsers(Set&lt;Long&gt; userIds);   
  }
  
  Mono&lt;GroupModel&gt; groupMono = getGroup(groupId);
  Flux&lt;User&gt; userFlux = getUsers(Set&lt;Long&gt; users);
  //run above instrtuction in parallel and associate user to group.
  </code></pre>
  
  <p>Now what I want to achieve is:   </p>
  
  <p>How can I combine response from UserFlux and associate those users with that group, with something like group.addUsers(userfromFlux).</p>
  
  <p>Can someone help with how to combine results coming from userFlux and groupMono. I think I use something like Zip but then it does one to one mapping from source. In my case, I need to do 1 to N mapping. Here I have one group but multiple user that I need to add to that group. Is it a good idea to return <code>Mono&lt;List&lt;Users&gt;</code> and then use zip operator with both mono and provide a combinator as mentioned here<br>
   <code>public static &lt;T1, T2, O&gt; Flux&lt;O&gt; zip(Publisher&lt;? extends T1&gt; source1,
              Publisher&lt;? extends T2&gt; source2,
              final BiFunction&lt;? super T1, ? super T2, ? extends O&gt; combinator)</code>?</p>