2013-03-26 53 views
1

CouchDB documentation on views指出在查詢視圖時使用include_docs=true時,所包含的文檔的修訂可能比用於生成視圖的修訂更新。這對我來說看起來很奇怪,因爲我明白MVCC的設計是爲了在不阻礙作家的情況下準確解決這些競爭條件。其中介紹的備選方案包括視圖值中的文檔。包含文檔時查看內容的一致性

這是真的,有include_docs=true的請求可能會返回一個新的文件(或沒有,如果該文檔已被刪除),比用來生成視圖或者這是否只是還使用stale=ok時要查詢視圖發生而不更新它?

回答

1

不,這是真的。會發生什麼是每個查詢將檢索由查詢結果行的「id」屬性標識的文檔;文檔不會保存到查詢索引中,就像爲map函數發出的結果一樣。請注意,這可能會使查詢變慢,因爲每個涉及的文檔都必須被查找,檢索幷包含在響應中。發佈完整的文檔是關注的重點,但當然會使您的索引文件在磁盤上大得多。