Zgodziłbym się tutaj z Rudu, ponieważ powinieneś spróbować podzielić szczegóły na klucze dokumentu mongo.
Dokument może zawierać taki obiekt:
details:
{
viewed: true
thumb_view: true
web_viewed: false
exported: true
...
}
Jeśli nie zmienisz struktury danych, zapytanie będzie wymagało nierootowanych wyrażeń regularnych, które nie mogą korzystać z funkcji indeksowania MongoDB.
Jednak niezależnie od tego, czy zdecydujesz się to zrobić, czy nie, będziesz chciał użyć do tego redukcji mapy. Możesz emitować elementy, które zawierają szczegóły podczas mapy (albo przetwarzając je za pomocą wyrażeń regularnych, albo po prostu emitując klucze w zrestrukturyzowanej formie) i sumując je w fazie redukcji.
Więcej na ten temat możesz przeczytać w dokumentacji