Elke test die ik persoonlijk heb uitgevoerd (inclusief het gebruik van uw eigen gegevens) laat zien dat het aggregatieraamwerk een veelvoud is dat sneller is dan kaartverkleining, en meestal een orde van grootte sneller is.
Gewoon 1/10e van de gegevens die je hebt gepost nemen (maar in plaats van de cache van het besturingssysteem te wissen, eerst de cache op te warmen - omdat ik de prestaties van de aggregatie wil meten, en niet hoe lang het duurt om de gegevens in te bladeren) kreeg ik dit:
MapReduce:1,058 ms
Aggregatiekader:133 ms
Het $match verwijderen uit het aggregatieframework en {query:} uit mapReduce (omdat beide gewoon een index zouden gebruiken en dat is niet wat we willen meten) en het groeperen van de volledige dataset op key2 die ik kreeg:
MapReduce:18.803ms
Aggregatieraamwerk:1.535ms
Die komen heel goed overeen met mijn eerdere experimenten.