Pourquoi utilisez-vous count et datalength s'ils ont la même valeur ? On dirait que vous avez juste besoin d'utiliser count.
Fonction de la carte :
function () {
emit(this.clientid, {count:1});
}
Fonction Réduire :
function (key, vals) {
var result = {count:0};
vals.forEach(function (value) {result.count += value.count;});
return result;
}