The $match should be first.

The $project is useless and potentially harmful, especially since it comes before $match. The logic is that you potentially $project (thus fetch) all the documents before filtering them. I wrote potentially as mongo might optimized this out.

You have an IXSCAN but your index organizationId_1_startTime_1_userRole_1 is not optimal for this query. Since you are doing an equality match on userRole and range query on startTime a better index would organizationId_1_userRole_1_startTime_1.