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");
});