2012-01-18 46 views
2

有沒有辦法我可以掛在沙發上 - db變化流並使用這個事件來操作文檔?couchdb - 掛鉤變化流操縱文檔

事情是這樣的: 關注這一問題 couchdb - re-sort a result of reduced view

我想思想的另一種方式。 我所能做的就是使用文檔作爲視圖的來源。

我不能重新排序視圖,我不能在縮小的視圖中使用條目作爲新視圖中的文檔。 但是也許我可以將它們變成文檔(爲此使用一些新的文檔類型)並在這些文檔上創建視圖?

但即使我使用couchdb外部的一些代碼來執行此操作,此代碼每次更新原始文檔時都必須更新新生成的文檔,並且因爲我可以使用更新流來通知更新 - 也許我應該使用它?聽起來像一個黑客,雖然會起作用,但仍然是黑客。

但是 - 這個人是專家 - 如果有這樣一種方式,更新流將使用CouchDB的內任何機制導致文檔修改 - 那麼我可以把所有這種邏輯在沙發上,和讓它在沒有外部幫助的情況下提供服務。

幫助任何人?

回答

0

唯一的CouchDB的內部「鉤子」用於更新文檔,僅適用於一個文檔(不一定相同,但有很多限制)。見_update

但是你所描述的可以從外部完成(例如使用node.js)。

請注意,從性能(和併發)的角度來看,觸發更新文檔的幾個文檔可能是一個壞主意。

+0

如果我理解正確,_update將對已識別的文檔起作用,並且不會影響其他文檔。我正在尋找一種方法來更新db *中的OTHER文檔*,以節省沙發和節點之間的傳輸開銷。 – 2012-11-08 19:29:46