title: Mongo DB reactive streams ForEach operation corresponding to Mongo DB Async driver
body: <p>I have been trying to move from Mongo-DB async driver to reactive streams.
  so far I have been successful in migrating most of the operations.
  But I'm stuck with MongoDbIterable and trying to find a compatible version for reactive driver</p>
  <p>Here is the code snippet for async driver that Im trying to migrate</p>
  <pre><code>   String param = &quot;hello&quot;;
      database. getCollection(&quot;sample&quot;).find(Filters.eq(&quot;mongo&quot;, param)).forEach(
              new Block&lt;T&gt;() {
                  @Override
                  public void apply(ProcessingProtectedRegion region) {
                  //my code to handle
                  }
              },
            //implementation of  SingleResultCallback&lt;T&gt;
      );
  </code></pre>
  <p>Im trying to migrate the above snippet to Reactive driver but not able to find the correct operation which would behave similar to the ForEach() of async driver that takes 2 parameter as the reactive streams operations always needs  subscriber</p>
  <pre><code>documentation of Async driver ForEach operation
   /* Iterates over all documents in the view, applying the given block to each, and completing the returned future after all documents
   * have been iterated, or an exception has occurred.
  
   * @param block    the block to apply to each document
   * @param callback a callback that completed once the iteration has completed
   */
  void forEach(Block&lt;? super TResult&gt; block, SingleResultCallback&lt;Void&gt; callback);
  </code></pre>