MongoDB-Aggregationsvergleich: group (), $ group und MapReduce

Ich bin etwas verwirrt, wann group (), aggregate with $ group oder mapreduce verwendet werden soll. Ich habe die Dokumentation unter gelesenhttp://www.mongodb.org/display/DOCS/Aggregation für group (),http://docs.mongodb.org/manual/reference/aggregation/group/#_S_group Ist Sharding die einzige Situation, in der group () nicht funktioniert? Außerdem habe ich das Gefühl, dass $ group mächtiger ist als group (), weil es in Verbindung mit anderen Pipeline-Operatoren aus dem Aggregations-Framework verwendet werden kann. Wie vergleicht $ group mit mapreduce? Ich habe irgendwo gelesen, dass es keine temporäre Sammlung generiert, wohingegen Mapreduce dies tut. Ist das so?
Kann jemand eine Illustration vorlegen oder mich zu einem Link führen, in dem diese drei Konzepte zusammen mit denselben Beispieldaten erklärt werden, damit ich sie leicht vergleichen kann?

BEARBEITEN:
Es wäre auch großartig, wenn Sie in diesen Befehlen auf Neues hinweisen könnten, seitdem die neue Version 2.2 veröffentlicht wurde.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage