Frage

Wie kann man die Summe je nach ID oder so extrahieren, um die Summe aller Werte zu erhalten?

Ich bin in der Lage, alle Werte zu erhalten, aber die Canotsumme ist eine einzelne Variable, daher muss es eine Art Segmentierung geben, um sie zusammenzufassen? irgendwelche Ideen?

$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);  
 }  
}});

}

BEARBEITEN:

Mein JSON sieht so aus:

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

Und meine Aussicht sieht so aus:

function(doc) {
    if (doc.value, doc.date) {
        emit(doc.value,doc.date, doc);
    }    
}
War es hilfreich?

Lösung

Sie müssen nur eine Reduzierungsfunktion hinzufügen, z. B., z. B.

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

Dies ist so häufig, dass wir eine integrierte Funktion haben, die viel schneller ist.

_sum

Sie müssen den Wert abgeben, den Sie als Wert zusammenfassen möchten, also so etwas wie;

function(doc) {
  emit(doc.date, doc.value);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top