Ich habe das Problem gelöst, ich hätte $match vor und nach $unwind anwenden sollen:
Aggregation.match(Criteria.where("alertsources.date_creation").regex(".*"+date+".*")),
Aggregation.match(Criteria.where("descA").is(alertName)),
//regex(".*"+date+".*")
Aggregation.unwind("alertsources"),
Aggregation.unwind("descA"),
Aggregation.match(Criteria.where("alertsources.date_creation").regex(".*"+date+".*")),
Aggregation.group().count().as("count")
Der gesamte Verdienst geht an @Neil Lunn , nach Recherchen fand ich seine ursprüngliche Antwort zu diesem Thema.