CouchDB Ver equivalente de SUM & GROUP BY

Tengo varios documentos CouchDB que representan una marca de tiempo con una propiedad userId y etiqueta (un usuario puede tener n marcas de tiempo y asignar a cada una una etiqueta). Quiero consultar CouchDB por un ID de usuario específico y obtener una lista ordenada de etiquetas que el usuario ha usado (ordenadas por ocurrencia).

¿Cómo se vería la vista?

Si quiero obtener una lista de todas las etiquetas ordenadas por ocurrencia (sin importar de qué usuario) o si supongo que solo hay documentos con el mismo ID de usuario, lo haría así:

Mapa

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

Reducir

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

¿Pero cómo agrupo el resultado para poder filtrar la consulta por un ID de usuario específico?

Respuestas a la pregunta(1)

Su respuesta a la pregunta