Hasta donde yo sé, los valores dinámicos en la expresión de filtro no se admiten actualmente con índices parciales y la expresión de filtro solo admite un subconjunto de operadores de consulta regulares de mongo (y ese subconjunto no incluye el $date operador).
Una forma de aproximarse al comportamiento deseado es creando un shouldIndex campo booleano en sus documentos, tenga {shouldIndex: true} sea su expresión de filtro y haga que un script actualice ese campo una vez al día para los documentos anteriores a current_date - 30 .