Okay, es ist ziemlich geradlinig und ich musste nur meinen Kopf ein wenig frei bekommen, um das zu bemerken. Die komplexe Abfrage kann in ein Json-Objekt zerlegt werden.
JsonObject queryParam = new JsonObject()
.put("id", new JsonObject().put("$in", listOfIds)); // ArrayList<Long>
Ich kann fortfahren und eine einfache Suchabfrage mit diesem queryParam verwenden.
mongoClient.find("collection", queryParam, asyncResult -> {
// do something
});