Oké, het is vrij rechttoe rechtaan en ik moest gewoon mijn hoofd een beetje leegmaken om dat op te merken. De complexe query kan worden opgesplitst in een Json-object.
JsonObject queryParam = new JsonObject()
.put("id", new JsonObject().put("$in", listOfIds)); // ArrayList<Long>
Ik kan doorgaan en een eenvoudige zoekopdracht gebruiken met deze queryParam.
mongoClient.find("collection", queryParam, asyncResult -> {
// do something
});