我真的很喜歡組織和更新數據的couchdb風格,但是有一些情況我真的需要能夠創建一個條目並確定在返回給用戶之前是否存在等價條目。唯一的情況是,這對我的應用程序來說是絕對必要的,這是用戶註冊我沒有把所有的用戶註冊寫入一個特定的,指定的couchdb實例,稱爲「註冊實例」。我想要一個單一的couchdb實例的絕對原子性(插入,如果已經存在,則失敗)
我想散列user_id到一些_id使用。然後用這個_id執行put,但如果_id已經被插入,則失敗。我需要返回給用戶,表明用戶名已被保留,並且稍後我無法檢測到衝突並在此時解決它,因爲用戶會覺得他們保留了用戶名。
我不明白爲什麼couchdb 不能爲提供某種方式來做到這一點,假設您指定插入文檔的特定「類型」總是被路由到特定的實例。
您是否在運行couchdb服務器羣集?或者當你說實例時,你是否真的指數據庫? (您可能只需指定一個單獨的數據庫進行註冊,然後在多個couchdb服務器之間不斷複製該數據庫,然後可以將其寫入任何地方並且不會出現問題。) – 2011-01-07 11:33:10