2017-07-27 52 views
0

是否有更新文檔ID的方法?我試圖實現與下面的代碼,但是,這將引發(下圖)的錯誤:更新PouchDb中文檔的_id

this.db.get('oldId') 
    .then(document => { 
    this.logsheetDB.put({ 
     _id: 'newId', 
     _rev: document._rev, 
     objectToInsert, 
    }); 
    }) 

錯誤:

{"status":409,"name":"conflict","message":"Document update conflict"}" 

是否有任何其他方式比重新創建它(文件)?

任何幫助表示讚賞。

回答

1

您無法更改文檔_id,這是沒有意義的。

如果你得到一個文檔,改變它的ID,你可以創建一個具有不同ID的克隆。如果你想這樣做,你只需要刪除_rev。

爲什麼在更改_id時刪除_rev?我們通常會通過_rev屬性來避免衝突,並通知CouchDB我們正在更新的文檔基於修訂版X.通過更改_id,我們正在創建一個新文檔,以便還有現有文檔。

+1

注意:不要忘記在克隆後刪除舊文檔 – skiqh