私はあなたがたくさんやっていることをしますので、それは可能です。
オブジェクトがCouchDB の制限を少し超えているか、コードにバグがあります。
CouchDB 構成を設定して、query_server_config/reduce_limit = "false"
それがどのように見えるかを確認できます。
ただし、アイテムが4つしか蓄積されていない場合は、制限を減らす問題ではないと思います. いつも私に起こるのは、JavaScript の問題です。たとえば、数値を文字列に追加すると、(より長い) 文字列が生成されます。数字を追加すると、文字列がどんどん長くなります。
var old_value = "3" // This is a bad value, perhaps from a map function bug
var new_value = 5
new_value = new_value + old_value // I wanted 8, but I got "53"
new_value = new_value + 2012 // I wanted 2020 but I got "532012"
配列やその他の型でも同様の問題が発生します。
返されるもの (オブジェクト)map
と同じものを発行する関数から、良いスタートを切ることができます。reduce
おそらく、使用しているコードを投稿できます。私は通常、次のようなことをします:
function(keys, vals, rereduce) {
// reduce function
var result = {'calories':0, 'miles':0, 'minutes':0, 'steps':0}
for(var i = 0; i < vals.length; i++) {
result.calories += vals[i].calories || 0
result.miles += vals[i].miles || 0
result.minutes += vals[i].minutes || 0
result.steps += vals[i].steps || 0
}
return result
}
reduce の出力は map の出力とまったく同じであることに注意してください。このコードは、reduce と re-reduce に機能します。