2011-05-22 8 views
13

Por alguna razón yo sólo estoy haciendo una clave nula de map/reduce en consecuencia couchdb en macclave nula desde map/reduce en consecuencia couchdb

Resultado:

{"rows":[ 
{"key":null,"value":2224} 
]} 

Im usando v8 couchapp 0,1 y couchdb v1.0.2

Mi función de mapa es:

function(doc) { 
    emit(doc.doc_type, 1); 
} 

Mi reducir la función es:

function(key, values, rereducer) { 
    return sum(values); 
} 

resultado que yo esperaba:

{"rows":[ 
{"key":"type1","value":22} 
{"key":"type2","value":32} 
{"key":"type3","value":25} 
//snip snip 
]} 

Cualquier idea que hice mal?

Respuesta

32

sólo para salvar a los novatos el dolor que he pasado para llegar a esta respuesta, por favor vistazo a la última parte de: http://wiki.apache.org/couchdb/HTTP_view_API

Acabo de añadir grupo = fiel a mi url, y el resultado reduzco? se ha agrupado como se esperaba el comportamiento predeterminado es que reduce escupirá un único valor

+2

+1 ¡Un buen consejo! Siempre me encuentro agregando '? Reduce = false' incluso si no tengo una función de reducción, solo para estar seguro. – JasonSmith

+0

@jhs: FWIW, '? Reduce = false' solía romperse cuando no se definía ninguna función de reducción, en 0.11 (me alegro de que se haya resuelto). –

+0

¡Oh, gracias hombre! Me tomó 10 minutos encontrar esta publicación – soupdiver