Ho trovato la soluzione. Avevo bisogno di cambiare and
operatore a un Projections.fields
operatore. Ancora non so perché. Forse qualcun altro può approfondire l'argomento.
Quindi la query funzionante è simile a questa:
collectionName.aggregate(
Arrays.asList(
group(fields(eq("year", "$year"),
eq("month", "$month"),
eq("day", "$day"),
eq("prodName", "$prodName"),
eq("actionName", "$actionName")),
sum("actionCount", 1))
);