_stats
sum、count、min、max、および sumsqr を提供する組み込み関数があることは知っています。私が知りたいのは、マップ削減の方法で最大値だけを計算する方法です。もう少し情報がなければ機能するreduce関数を思いつくことはできません。
私が考えることができる唯一のことは、値の並べ替えを使用して最初の値を選択することです。
私のマップ関数は次のようになります。
function(doc){
emit(null, doc.value);
}
couchdb wiki は、 sum の簡単な例を提供します。
値の合計を返す代わりに、max の reduce 関数は値配列の最大値を返す必要があります。最大値の計算は可換、連想などであるため、rereduce について心配する必要はありません。
function (key, values, rereduce) {
// Return the maximum numeric value.
var max = -Infinity
for(var i = 0; i < values.length; i++)
if(typeof values[i] == 'number')
max = Math.max(values[i], max)
return max
}