Isso parece precisar de vários diferentes privs.
- clusterAdmin : dropDatabase , que permite remover qualquer banco de dados.
- Any Database Roles : readWriteAnyDatabase, que permite ler e gravar em qualquer banco de dados; necessário para operar em bancos de dados criados dinamicamente.
Eu ainda não descobri o que você precisa para criar um banco de dados, mas esse direito pode herdar diretamente de readWriteAnyDatabase.