2017-06-26 6 views
1

Ich bin ein Anfänger auf CouchDB. Ich habe Daten wie folgt:mapreduce in couchDB und bekomme das MAX Ergebnis nach mapreduce

one:[{ 
    "name":abc, 
    "value":1 
}, 
{  
    "name":efg, 
    "value":1 
}, 
{  
    "name":abc, 
    "value":1 
}, 

Ich möchte die Anzahl der ähnlichen Schlüssel erhalten und das Maximum zu bekommen. z.B. In meinem Fall ist "abc" zweimal. so dass die maximale (reduce Funktion) sollte Ergebnis zurück: {"name":abc,value:2}

Antwort

0

Haben Sie versucht, diesen Entwurf Dokument:

{ 
    "_id":"_design/company", 
    "views": 
    { 
    "abc_customers": { 
     "map": "function(doc) { if (doc.name == 'abc') emit(doc.name,doc.value) }", 
     "reduce" : "_count" 
    }, 
    "efg_customers": { 
     "map": "function(doc) { if (doc.name == 'efg') emit(doc.name,doc.value) }", 
     "reduce" : "_count" 
    } 
    } 
} 

Siehe this one für einen Vergleich von _count und _sum. Möglicherweise benötigen Sie _count.

Durch die oben CouchDB Design-Dokument, werden Sie für jeden doc.name von abc zählen bekommen, efg ... und dann können Sie eine Suche nach max/min von Zählungen tun.