What is the best way to calculate the median of the array?


#1

Should I return an array of data and compute the median in my application or is there a right way to do it in the Couchbase?


#2

You can make your own functions inside the mapper

function(doc,meta){ function median(values) { values.sort( function(a,b) {return a - b;} ); var half = Math.floor(values.length/2); if(values.length % 2) return values[half]; else return (values[half-1] + values[half]) / 2.0; } emit(meta.id,median(doc.your_array_of_numbers)); };

The above solution is good if your_array_of_numbers really do not change too much ,
you don’t do 10k-1million views calls per second, and if you have hundreds to millions of values in your_array_of_numbers.

Else doing that work will be best / faster in your app layer.

*Note… in the emit() the key is meta.id , so using the GET() from the SDK would also might be better option again.