假設我有一個帶有視圖,更新函數等的設計文檔。現在假設我通過添加驗證處理程序來更新設計文檔。即使我根本沒有對視圖函數進行任何更改,這是否會導致在此設計文檔中定義的視圖被重建。在couchdb中更新設計文檔是否會導致重建視圖?
6
A
回答
5
不,意見是不重新生成只要視圖屬性本身沒有改變。 CouchDB會根據設計文檔的views
屬性計算散列值,並將此散列值用作視圖的文件名。
我們在生產中使用這個特性很多:我們會定期更新我們的設計文檔,並且只要視圖本身不改變視圖就不會重新生成。
順便說一句:這也是爲什麼你可以在視圖中使用CommonJS模塊和require()
的原因,但是你僅限於views
中的路徑。例如,你可以這樣做:
{
...
"views": {
"lib": {
"underscore": "... (underscore.js here)"
},
"my_view": {
"map": "function (doc) { var _ = require('views/lib/underscore'); emit(doc._id, _.pick(doc, 'name', 'address'); }"
}
}
}
但你不能使用require
這樣的:var _ = require('underscore');
希望這有助於!
3
是的。正如維基在View API ("Altering/Changing Views" section)記載:
要更改視圖或多個視圖只是改變設計文件(見HttpDocumentApi)它們存儲在並將其保存爲一個新的版本。這會導致該設計文檔中的所有視圖在下次訪問時被重建,以防視圖代碼被更改。
請注意,文檔是指更新設計文檔而不是其字段。
相關問題
- 1. couchdb設計視圖,更新文檔創建的字段
- 2. CouchDB的更新設計文檔
- 3. 在Couchbase中,是否將視圖添加到設計文檔中會觸發重新計算所有視圖?
- 4. 在CouchDB中更新文檔
- 5. 在CouchDB的設計文檔中對視圖進行分組
- 6. 更新Couchdb文檔
- 7. 從R創建CouchDB設計文檔
- 8. shink_to_fit是否會導致重新分配?
- 9. CouchDB設計文檔格式
- 10. CouchDb - 一個設計文檔與多個視圖與多個設計文檔與拆分視圖
- 11. CouchDB文檔是否有DAG?
- 12. 如何在Node.js中使用Nano創建couchdb設計文檔?
- 13. 在AVPlayer中遠程獲取視頻是否會導致重新下載?
- 14. 更新任何字段會導致更新索引視圖嗎?
- 15. 更新nano中的CouchDB文檔
- 16. 如何更新CouchDB中的文檔
- 17. couchdb修訂號碼跳轉和文檔更改導致衝突
- 18. 列出在設計文檔中創建的所有視圖
- 19. 查詢設計文檔的CouchDB
- 20. CouchDB不復制設計文檔
- 21. couchDB設計文檔不在所有其他文檔的末尾
- 22. 拉德格視圖更新不會導致刷新
- 23. clearInterval是否會導致重定向?
- 24. 重命名AppDelegate.h是否會導致hasard?
- 25. 可以在CouchDB的視圖索引它自己的設計文檔
- 26. 一次事務中多次更新是否會導致死鎖?
- 27. 添加新文檔時,couchDB能否自動更新特定文檔?
- 28. CouchDB中視圖更新的原子性
- 29. 使用DotNetZip更新JAR文件會導致損壞的存檔?
- 30. 如何在CouchDB 2上創建「驗證文檔更新」?