2012-03-09 82 views
1

我正在關注IBM's tutorial on CouchDB,並遇到了一個保存編輯的文件的問題。保存一個新的文檔工作正常,它看起來像我現有的所有文檔的值(通過openDoc函數檢索)是有效的,但新值是根本沒有。如何使用Evently保存更新的CouchDB文檔?

當我在執行跟蹤代碼,它看起來像新的價值觀是有:

enter image description here

然而,經過saveDoc成功返回(奇怪!),不更新文檔。如果我記錄更新的文檔,則記錄的對象沒有_id_rev值,但您可以清楚地看到它們在保存時出現(請參見第一個屏幕截圖)。

enter image description here

是否存在的一些saveDoc細微之處,或者Evently,說我不理解?

回答

0

在你success回調,你是不是記錄的更新文件,你正在登錄由線87 newdoc對象(減去它通過saveDoc功能,這顯然是不確定的_id_rev去了,但沒關係)。

success回調可以有一個參數,它是來自服務器的響應。如果你寫:

success: function(data) { 
    console.log(data); 
} 

你應該在應對新的_rev開始2-看到。

如果您確實希望看到完整的文檔一旦更新,只需撥打openDocsuccess回調獲得更新的版本。


其他細節,當你說

saveDoc成功返回

我認爲你的意思是,success回調被調用,因爲saveDoc是異步的,無論如何都應該立即返回。

+0

有什麼奇怪的是我回到這個沒有修改任何代碼,現在它的工作。也許這是一個緩存問題 - 誰知道?不過謝謝你的提示,特別是異步位。這將爲我節省大量的時間! – 2012-03-12 01:00:24