При наличии документа
{_id:110000, groupings:{A:'AV',B:'BV',C:'CV',D:'DV'},coin:{old:10,new:12}}
Мои спецификации требуют спецификации атрибутов для отображения и агрегирования во время выполнения, поскольку интересующие пользователя группы не известны заранее, но определяются пользователемво время выполнения.
Например, один пользователь будет указывать [A, B], что приведет к выбросам при отображении
emit( {A:this.groupings.A,B:this.groupings.B},this.coin )
, тогда как другой захочет указать [A, C], что приведет квыбросы при отображении
emit( {A:this.groupings.A,C:this.groupings.C},this.coin )
B / c функции картографирования и редуктора выполняют на стороне сервера и не имеют доступа к клиентским переменным, я не смог придумать способ использования переменнойключ карты в функции картографирования.
Если бы я мог ссылаться на список вещей для группировки из области выполнения функции карты, это все очень просто.Тем не менее, b / c функция отображения заканчивается тем, что получает их из другой области, я не знаю, как это сделать, или если это вообще возможно.
Прежде чем я начну пытаться динамически построить сценарий Java для выполнениячерез драйвер, у кого-нибудь есть лучшее предложение?Может быть, функция 'group' лучше справится с этим сценарием?