Aggregation is slow

You are a little bit impatient.

Storing dates as an object with 3 strings is one of the most wasteful space-wise and slow way to do it. SQL or NoSQL.

So the first thing to do is to fix your model to properly use an appropriate data type.

What indexes do you have? Indexes are important SQL or noSQL.

You do not need explicit $and in your $match.