簡體   English   中英

CouchDB的問題

[英]Issue with CouchDB

在TAMA實施中,我遇到了Couchdb的問題。 (版本1.2.0),

我們正在使用命名文檔來維護應用程序中的唯一約束邏輯。 (命名文檔:其_id是用戶定義的,而不是生成的。)

我們正在使用REST API將文檔添加到Couchdb,在其中發現了奇怪的行為:

當我們嘗試使用HTTP PUT重新創建以前已刪除的文檔(由於代碼中的錯誤)時,不會第一次創建文檔。

HTTP Put - Returns HTTP 200, but doc is not saved in couchdb. 
Again trying the same request, 
HTTP Put - Returns HTTP 200 and adds the doc in database.

需要發送兩次HTTP PUT請求才能創建和保存文檔。

我檢查了上述錯誤對於已刪除的文檔是否可復制,即GET _id的響應為{“錯誤”:“ not_found”,“原因”:“已刪除”}。

對我來說,這似乎是CouchDB中的錯誤,如果您能想到可能發生上述錯誤的任何情況以及任何可能的解決方法/解決方案,請告訴我們。

Couchdb具有內置機制,可確保您不會覆蓋其他人的同一文檔。

如果您放入任何現有文檔,則必須在此過程中附帶當前的doc._rev值,以便doc._rev可以確認您要更新的文檔是基於數據庫中的最新版本。

我沒有遇到過帶有刪除的情況,但是對我來說,couchdb不應允許您按照假設應該覆蓋已刪除的文檔,而您只是不知道刪除。

您是否嘗試過訪問是否可以訪問已刪除文檔的修訂版,如果可以,是否可以通過將其添加到新文檔中來在第一次調用時成功使用PUT?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM