2011-05-22 3 views
13

Pour une raison quelconque, je suis seulement obtenir une clé de nulle map/reduce résultat dans CouchDB sur macclé nulle dans de map/reduce résultat dans CouchDB

Résultat:

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

Im en utilisant couchapp v8 .1 et CouchDB v1.0.2

fonction Ma carte est:

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

Mon réduire la fonction est:

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

résultat que je me attendais:

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

Toute idée où je suis allé mal?

Répondre

32

Juste pour sauver newbies la douleur que je suis par arriver à cette réponse, s'il vous plaît regarder la dernière partie de: http://wiki.apache.org/couchdb/HTTP_view_API

Je viens d'ajouter un groupe = true à mon URL, et le résultat réduis? a été regroupé comme prévu le comportement par défaut est que réduire va cracher une seule valeur

+2

+1 Bon conseil! Je me retrouve toujours à ajouter '? Reduce = false' même si je n'ai pas de fonction de réduction, juste pour être sûr. – JasonSmith

+0

@jhs: FWIW, '? Reduce = false 'utilisé pour rompre lorsqu'aucune fonction de réduction n'a été définie, retour en 0.11 (je suis content que cela ait été résolu). –

+0

Oh merci l'homme! Il m'a juste fallu 10 minutes pour trouver ce post – soupdiver