Comment utiliser des variables dans MongoDB réduire la Carte la carte la fonction

Donné un document

{_id:110000, groupings:{A:'AV',B:'BV',C:'CV',D:'DV'},coin:{old:10,new:12}}

Mes specs appel pour la spécification des attributs de la cartographie et de l'agrégation au moment de l'exécution, comme les groupements intéressent l'utilisateur ne sont pas connus à l'avant, mais spécifié par l'utilisateur lors de l'exécution.

Par exemple, un utilisateur de spécifier [A,B] qui sera la cause de la cartographie des émissions de

emit( {A:this.groupings.A,B:this.groupings.B},this.coin )

tandis qu'un autre aurait envie de spécifier [A,C] qui sera la cause de la cartographie des émissions de

emit( {A:this.groupings.A,C:this.groupings.C},this.coin )

B/c le mappeur et réducteur de fonctions exécuter côté serveur, et n'ont pas accès aux variables de client, je n'ai pas été en mesure de trouver un moyen d'utiliser une variable de carte de clé dans le mappeur de fonction.

Si je pouvais référence à une liste de choses à un groupe par dans le champ d'application de l'exécution de la fonction map, tout cela est très simple. Cependant, b/c la fonction de mappage finit par obtenir ces à partir d'un champ d'application différent, je ne sais pas comment faire, ou si c'est encore possible.

Avant que je commence à essayer de créer dynamiquement des java script à exécuter par le biais du pilote, quelqu'un a une meilleure suggestion? Peut-être un 'groupe' de la fonction sera de gérer ce scénario mieux?

InformationsquelleAutor gbegley | 2011-09-01