據我所知,reduce函數獲取特定鍵的所有值,我們可以編寫代碼對這些值執行某種操作。 我不明白rereduce參數有什麼用處。有人可以用一個例子來解釋嗎?CouchDB的reduce函數中的rereduce參數是什麼?
謝謝...
據我所知,reduce函數獲取特定鍵的所有值,我們可以編寫代碼對這些值執行某種操作。 我不明白rereduce參數有什麼用處。有人可以用一個例子來解釋嗎?CouchDB的reduce函數中的rereduce參數是什麼?
謝謝...
我認爲http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Reduce_vs_rereduce給你一個很好的概述。由於性能optimations時,減少功能可以被稱爲在兩個層面:
在第二級中,參數rereduce
是true
。有關示例,請參見http://wiki.apache.org/couchdb/Built-In_Reduce_Functions#A_sum。在第一步中,塊的長度(values
)被返回,在rereduce級別,這些長度必須加總。
感謝您的鏈接。可以將一組數據發送到縮小功能超過2次(2個級別)嗎?這是減少,重新減少和再次減少? – Manoj 2012-03-29 21:32:16
所以作爲一個人爲的例子,假設你有一個字符串數字列表,並且你想減少所有數字。第一個「級別」將對鍵和(字符串)值本身進行操作,將它們轉換爲數字並對它們進行求和。第二個「級別」(rereduce == true)可以處理第一級(數字)的結果,並簡單地將它們求和即可,而不需要解析任何字符串。 – aaaidan 2012-03-29 21:34:04
謝謝@aaaidan。再一次澄清。爲什麼下面的函數效率低下:var rv = {}; (i值){ var value = values [i]; (k值){ rv [k] =(rv [k] || 0)+值[k]; } } return rv;我從以下鏈接中獲取此信息 - http://blog.mudynamics.com/wp-content/uploads/2009/04/icouch.html - 用戶嘗試的唯一相機#1 – Manoj 2012-03-29 21:43:19