RxJava 2 API

The Mongo client provides an Rxified version of the original API.

Creating an Rxified client

To create an Rxified Mongo client, make sure to import the MongoClient class. Then use one of the create methods to get an instance:

MongoClient client = MongoClient.createShared(vertx, config);

Finding documents in batches

A ReadStream can be converted to a Flowable, which is handy when you have to deal with large data sets:

JsonObject query = new JsonObject()
  .put("author", "J. R. R. Tolkien");

ReadStream<JsonObject> books = mongoClient.findBatch("book", query);

// Convert the stream to a Flowable
Flowable<JsonObject> flowable = books.toFlowable();

flowable.subscribe(doc -> {
  System.out.println("Found doc: " + doc.encodePrettily());
}, throwable -> {
  throwable.printStackTrace();
}, () -> {
  System.out.println("End of research");
});