Ogni test che ho eseguito personalmente (incluso l'utilizzo dei tuoi dati) mostra che il framework di aggregazione è un multiplo più veloce della riduzione della mappa e di solito è un ordine di grandezza più veloce.
Prendendo solo 1/10 dei dati che hai pubblicato (ma invece di svuotare la cache del sistema operativo, riscaldando prima la cache, perché voglio misurare le prestazioni dell'aggregazione e non quanto tempo ci vuole per impaginare i dati) ho ottenuto questo:
MapReduce:1.058 ms
Framework di aggregazione:133 ms
Rimuovendo $match dal framework di aggregazione e {query:} da mapReduce (perché entrambi userebbero solo un indice e non è quello che vogliamo misurare) e raggruppando l'intero set di dati per key2 ho ottenuto:
MapReduce:18.803 ms
Framework di aggregazione:1.535 ms
Questi sono molto in linea con i miei esperimenti precedenti.