2011-03-03 3 views
2

Comment interroger uniquement la carte d'une vue avec une carte et réduire en utilisant evently?couchdb afficher la carte de requête et ne pas réduire la vue

Voici ce que j'ai jusqu'à présent data.js:

function(data) { 
    var numRows = data.rows.map(function(r) { 
    return r 
    }); //this is returning an object that is the result of the reduce function 
     // but I want the total_rows of the map function 

    var sum = data.rows.reduce(function(r) { 
    return r.value 
    }); //this returns the sum of all row values 
    var avg = sum.value/numRows 
    $.log(avg); 
    $.log(numRows); 
    return {'total': numRows, 'average': avg} 
}; 

Je veux que cela retourne le nombre total de lignes de la requête et la moyenne de leurs valeurs.

Merci d'avance pour l'aide.

Répondre

2

Je n'ai pas de couchage à portée de main maintenant pour tester, mais je pense que vous confondez JavaScript map function avec la fonction de carte CouchDB. En faisant data.rows.map() vous appelez la fonction Array.map sur le tableau data.rows. Ce que vous cherchez devrait être dans data.total_rows.

Lire this tutorial pour plus d'informations.

MISE À JOUR: Le nombre de lignes est data.rows.length.

Questions connexes