Pokud vím, dynamické hodnoty ve výrazu filtru nejsou v současné době podporovány s částečnými indexy a výraz filtru podporuje pouze podmnožinu běžných operátorů dotazu mongo (a tato podmnožina nezahrnuje $date operátor).
Jedním ze způsobů, jak přiblížit požadované chování, je vytvoření shouldIndex boolean pole ve vašich dokumentech, mít {shouldIndex: true} být vaším výrazem filtru a nechat skript aktualizovat toto pole jednou denně pro dokumenty, které jsou starší než current_date - 30 .