Sono d'accordo con Rudu qui in quanto dovresti provare a suddividere i dettagli nelle chiavi di un documento mongo.
Il documento potrebbe contenere un oggetto come questo:
details:
{
viewed: true
thumb_view: true
web_viewed: false
exported: true
...
}
Se non ristrutturi i dati, la query richiederà espressioni regolari non root che non sono in grado di utilizzare le funzionalità di indicizzazione di MongoDB.
Tuttavia, indipendentemente dal fatto che tu decida di farlo o meno, vorrai utilizzare map reduce per questo. Potresti emettere elementi che includono i dettagli durante la mappa (sia elaborandoli con espressioni regolari o semplicemente emettendo le chiavi in forma ristrutturata) e sommarli in fase di riduzione.
Puoi leggere di più a riguardo nei documenti