stream-total
total for stream json objects or array,iterator.it's collection toolkit part. support AMD or node.
example
generator100pipetotal ageAvg: $avg: 'age' count: $count: '*' sum: ageSum: $sum: 'age' valueSum: $sum:'value' ageMax: $max: 'age'# (doc) -> # doc['value' ] minAge: $min: 'age' modeGrade: $mode:'grade.name' modeAge: $mode : 'age' avedev: $avedev:'age' stdev_s: $stdev_s:'age' stdev_p: $stdev_p:'age' custom: $custom:'n_value' product: $product:'n_value' trimmean: $trimmean:'age'0.4 frequency: $frequency: 'age'1810 24 ->consolelog this; 45 60 streamon'data'#console.log doc once 'end' consolelog result consolelog 'sum age:'totalselectresult'sum.ageSum' consolelog totalselectresult'frequency'0values
result:
{ ageAvg: 32.303030303030305, count: 99, sum: { ageSum: 3198, valueSum: 500326 }, ageMax: 69, minAge: 1, modeGrade: 'grade 2', modeAge: '31', avedev: 16.524640342822156, stdev_s: 19.70934438355788, stdev_p: 19.609549593545182, custom: 9.33262154439441e+155, product: 9.33262154439441e+155, trimmean: 31.62295081967213, frequency: [ { name: 'age<10', bound: 10, freq: 15 }, { name: '10<=age<18', bound: 18, freq: 12 }, { name: '18<=age<24', bound: 24, freq: 8 }, { name: '24<=age<45', bound: 45, freq: 33 }, { name: '45<=age<60', bound: 60, freq: 18 }, { name: 'age>=60', bound: 60, freq: 13 } ] }
extend total function
extend total function,you can use total.use define function.the function name's first char is '$'. example:
total;
using '$custom' example:
;
readArray example:
var onPost = { console;}; result = ; console;
readIterator example:
var onPost = { console;}; var data=age:15id:'ba'; iterator = {return datalength>0;} {return data;} result = ; console;