CouchDB Veja o equivalente a SUM & GROUP BY

Tenho vários documentos do CouchDB representando um registro de data e hora com uma propriedade userId e tag (um usuário pode ter n timestamps e atribuir a cada um uma tag). Desejo consultar o CouchDB por um userId específico e obter uma lista classificada de tags que o usuário usou (classificada por ocorrência).

Como seria a vista?

Se eu quiser obter uma lista de todas as tags classificadas por ocorrência (não importa de qual usuário) ou se eu presumir que existem apenas documentos com o mesmo userId, eu faria assim:

Mapa

function(doc) {
  if(doc.tag) emit(doc.tag, 1); 
}

Reduzir

function(keys, values) {
  return sum(values);
}

Mas como agrupo o resultado para filtrar a consulta por um userId específic

questionAnswers(1)

yourAnswerToTheQuestion