2017-06-26 1 views
1

Je suis un débutant à CouchDB. J'ai données ci-dessous:MapReduce dans CouchDB et obtenir le résultat MAX après MapReduce

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

Je voudrais obtenir le nombre de clés similaires et obtenir le maximum. par exemple. dans mon cas "abc" est deux fois. donc le maximum (diminution de la fonction) doit retourner résultat: {"name":abc,value:2}

Répondre

0

Avez-vous essayé ce document de conception:

{ 
    "_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" 
    } 
    } 
} 

Voir this one pour une comparaison des _count et _sum. Peut-être avez-vous besoin de _count.

Au-dessus document de conception CouchDB, vous obtiendrez compter pour chaque doc.name de abc, efg, ... et vous pouvez faire une recherche pour max/min de compte.