Eu concordaria com Rudu aqui, pois você deve tentar quebrar os detalhes em chaves de um documento mongo.
O documento pode conter um objeto como este:
details:
{
viewed: true
thumb_view: true
web_viewed: false
exported: true
...
}
Se você não reestruturar os dados, a consulta exigirá expressões regulares não enraizadas que não podem usar os recursos de indexação do MongoDB.
No entanto, independentemente de você decidir fazer isso ou não, você desejará usar a redução de mapa para isso. Você pode emitir itens que incluam os detalhes durante o mapa (seja processando-os com expressões regulares ou simplesmente emitindo as chaves de forma reestruturada) e somando-os na fase de redução.
Você pode ler mais sobre isso nos docs