4
我在我的couchdb中對一批文檔進行了大量編輯,但是我犯了一個錯誤,並且不當地覆蓋了一個字段。我可以看到以前的版本在那裏。我該如何回覆它?在此基礎上如何還原couchdb中的更改?
我在我的couchdb中對一批文檔進行了大量編輯,但是我犯了一個錯誤,並且不當地覆蓋了一個字段。我可以看到以前的版本在那裏。我該如何回覆它?在此基礎上如何還原couchdb中的更改?
我目前最好的猜測,:
http://guide.couchdb.org/draft/conflicts.html
...是要找到對文檔ID和版本ID,然後發送刪除該文件指定我要修改不見了。
curl -X DELETE $HOST/databasename/doc-id?rev=2-de0ea16f8621cbac506d23a0fbbde08a
我認爲這將離開以前的修訂。有更好的想法嗎?
我不得不寫一些CoffeeScript中(使用underscore.js和jquery.couch)來做到這一點。這不是一個真正的迴歸,因爲我們正在獲取舊版本並使用它創建新版本。仍然在尋找更好的建議:
_.each docsToRevert, (docToRevert) ->
$.couch.db("databaseName").openDoc docToRevert.id,
revs_info: true
,
success: (doc) ->
$.couch.db("databaseName").openDoc docToRevert.id,
rev: doc._revs_info[1].rev #1 gives us the previous revision
,
success: (previousDoc) ->
newDoc = previousDoc
newDoc._rev = doc._rev
result.save newDoc
在CouchDB中沒有恢復,它會中斷複製。 –