Okej, det är ganska rakt fram och jag behövde bara rensa huvudet lite för att märka det. Den komplexa frågan kan delas upp i ett Json-objekt.
JsonObject queryParam = new JsonObject()
.put("id", new JsonObject().put("$in", listOfIds)); // ArrayList<Long>
Jag kan gå vidare och använda enkel sökfråga med denna queryParam.
mongoClient.find("collection", queryParam, asyncResult -> {
// do something
});