6
我需要獲取文檔,更改/插入/刪除一些字段並將其放回。更新nano中的CouchDB文檔
「put」操作需要當前文檔的修訂版本,但是在nano中我找不到任何將修訂作爲參數並將文檔重新插入數據庫的函數。
我該如何用nano做到這一點?
我需要獲取文檔,更改/插入/刪除一些字段並將其放回。更新nano中的CouchDB文檔
「put」操作需要當前文檔的修訂版本,但是在nano中我找不到任何將修訂作爲參數並將文檔重新插入數據庫的函數。
我該如何用nano做到這一點?
注意:這是一般算法,它不是特定於任何庫,因爲nano's insert()
方法不提供任何自動更新文檔的功能。
獲取文檔,保存當前修訂版,應用更改並嘗試使用保存的修訂版號發送文檔。
確保處理可能的409個衝突響應,這些響應在文檔被更改時發生。
在這種情況下,您應該重新獲取文檔,保存修訂版本號,重新應用您的更改,然後嘗試使用新修訂版再次發送。
因此,這裏的算法:
結帳CouchDB HTTP Document API's PUT section和CouchDB的Replication and Conflicts維基頁面瞭解更多關於此事的信息。你也可以找到How To Update A Document With Nano (The CouchDB Client for Node.js)有幫助。
我知道我需要修訂。問題是在納米中帶有「修訂」參數的功能。正確的答案,但在另一個問題。 – DSblizzard 2012-07-26 07:54:19
即使你的問題是正確的答案。請閱讀[nano的Document API](https://github.com/dscape/nano#document-functions)文檔。只有一個'inser()'方法,這意味着您必須在要插入的文檔上設置正確的修訂版本。 – 2012-07-26 07:58:17
你能告訴我你的代碼嗎? – DSblizzard 2012-07-26 08:00:15