No momento, o MongoDB não suporta partições, há um ticket JIRA para adicionar isso como um recurso (SERVER -2097 ).
Uma solução é aproveitar várias coleções baseadas em tempo, alternando coleções de maneira semelhante a partições. Normalmente, faríamos isso quando você normalmente estivesse consultando apenas uma ou algumas dessas coleções baseadas em tempo. Se você precisar ler várias coleções com frequência, poderá adicionar algum código de wrapper para simplificar isso.
Há também Índices TTL , que aproveita um thread em segundo plano no servidor mongod para lidar com as exclusões para você.
Suas exclusões por _id podem ter sido lentas por vários motivos e provavelmente merecem mais investigação além da sua pergunta original.