Znalazłem rozwiązanie. Musiałem zmienić and
operator do Projections.fields
operator.Wciąż nie wiem dlaczego. Może ktoś inny może to rozwinąć.
Więc zapytanie robocze wygląda tak:
collectionName.aggregate(
Arrays.asList(
group(fields(eq("year", "$year"),
eq("month", "$month"),
eq("day", "$day"),
eq("prodName", "$prodName"),
eq("actionName", "$actionName")),
sum("actionCount", 1))
);