Ты слепой или как. Я написал что если 3 поля выберет а compound на 15 то НЕ будет работать
У тебя просто выход ещк в том, чтобы просто создать индекс нв эти 3 поля, проверить через profilingLevel, что при аггрегации работает нужный индекс. Если нет, - там есть вроде фокус в монге насчёт того, чтобы вешать необходимый тебе индекс на запрос, емнип.
Но так ты обвешивать будешь каждый раз очередную выборку индексом. И так будет постоянно.