Le deuxième argument de la méthode find est le type de résultat. Essayez comme ci-dessous.
FindIterable<TDocType> tDocTypeList = dbCollection.find(filter, TDocType.class);
Mise à jour pour la projection
FindIterable<TDocType> tDocTypeList = dbCollection.find(filter, TDocType.class).projection(outputQuery);
Mise à jour pour l'ajout de filtres
List<Bson> filters = new ArrayList<>();
for (Map.Entry<String, Object> entry : query.getParams().entrySet()) {
// this is where its building the query
if (some condition){
filters.add(Filters.eq(entry.getKey(), entry.getValue()));
}
if (some other condition){
filters.add(Filters.in(entry.getKey(), query.getValues()));
}
}
FindIterable<TDocType> docType = dbCollection.find(Filters.and(filters));