目前,我的代碼看起來像在CouchDB中,如何在reduce函數中發出鍵值?
function(keys, values, rereduce){
return {"key":keys[0][0],"count":values.length};
}
在運行此,結果行是:
key = None, value={u'count':3,u'key':u'123456'}
這工作對我而言,正如我剛纔分析的價值屬性的JSON字符串,但這似乎是做錯事情的錯誤方式。
那麼我怎麼能讓reduce函數發出一個關鍵值而不是None?
正如MarcinSkórzewski所指出的那樣,您的降低將會隨機失敗,因爲您不檢查rereduce的值。 – 2012-08-17 17:30:10
我也注意到了。我重新編寫了函數以適應重新減少,但是在找到group = true參數後,我現在只使用_count,而不是任何自定義reduce函數。 – samoz 2012-08-17 17:36:04
太好了。內置的減少功能幾乎總是最好的選擇。例如,即使我只需要像'max'這樣的單個值,我也會使用'_stats'。 – 2012-08-17 17:43:34