Pregunta

¿Cómo extraer la suma dependiendo de la identificación o algo, con el objetivo de obtener la suma de todos los valores?

Puedo obtener todos los valores, pero Canot Sum BeCouse es una sola variable, por lo que debe haber algún tipo de segmentación para sumarlos? ¿algunas ideas?

$db = $.couch.db("fuel");  

function refreshFuel() {  

$("div#fuel").empty();  

$db.view("fuel/bill", {success: function(data) {  

    for (i in data.rows) {  
    id = data.rows[i].id;  
    bill = data.rows[i].key;  
    date = data.rows[i].value;  

    html = '<div class="fuel">' +  
   '<span class="bill">' + bill + '</span> ' +  
   '<span class="date">' + date + '</span> ' +    
   '</div>';  

  $("div#fuel").append(html);  
 }  
 }});  
}  

function getAll(){

$("div#all").empty();  

$db.view("fuel/bill", {success: function(data) {  

    for (i in data.rows) {  
    id = data.rows[i].id;  
    bill = data.rows[i].key;  // how to get SUM of all this values
    date = data.rows[i].value;  

    html = 
   '<span class="all">' + bill + '</span> '     


  $("div#all").append(html);  
 }  
}});

}

EDITAR:

Mi json se ve así:

    {
   "_id": "1a06982d3434f37a04a02dbf360010ee",
   "_rev": "1-c8c9d5252a76abd8f565ff82bf63b0e8",
   "value": "200",
   "date": "2011-09-05T10:28:55.101Z"
}

Y mi punto de vista se ve así:

function(doc) {
    if (doc.value, doc.date) {
        emit(doc.value,doc.date, doc);
    }    
}
¿Fue útil?

Solución

Solo necesita agregar una función de reducir, por ejemplo,

function(keys, values, rereduce) {
  return sum(values);
}

Esto es tan común que tenemos una función incorporada que es mucho más rápida;

_sum

Deberá emitir el valor que desea sumar como valor, por lo que algo así;

function(doc) {
  emit(doc.date, doc.value);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top