Por que você está usando count e datalength se eles têm o mesmo valor? Parece que você só precisa usar count.
Função do mapa:
function () {
emit(this.clientid, {count:1});
}
Função Reduzir:
function (key, vals) {
var result = {count:0};
vals.forEach(function (value) {result.count += value.count;});
return result;
}