Dlaczego używasz licznika i długości danych, jeśli mają tę samą wartość? Wygląda na to, że wystarczy użyć liczenia.
Funkcja mapy:
function () {
emit(this.clientid, {count:1});
}
Zmniejszenie funkcji:
Funkcjafunction (key, vals) {
var result = {count:0};
vals.forEach(function (value) {result.count += value.count;});
return result;
}