2012-12-21 80 views
0

CouchDB的版本控制對我正在編寫的應用程序是一個絕對的幫助,但是我想在數據庫中表示的每個對象都有自己的唯一標識符(我們稱之爲my_id),所以我沒有真的需要_id字段。主鍵和CouchDB

有沒有辦法讓我告訴CouchDB我想讓我的領域成爲主要的嗨(不是_id)?

我使用Ruby的couchrest_model,所以我知道我能做到Model.find_by_my_id(params[:my_id])如果我把view_by :my_id在我的課,但這種感覺就像我存儲的無目的的_id。我應該在乎嗎?

回答

1

當你創建文檔時,你不可能提供你自己的id而不是默認的couchb分配的ID嗎?我不知道是否紅寶石的couchrest可以做到這一點,但它CouchDB的API中的可用

在這裏看到:http://wiki.apache.org/couchdb/HTTP_Document_API#PUT

文檔ID被傳遞到URL。

+0

我當然可以,但我希望保留名稱'my_id',因爲它在我的應用程序中具有意義。 –

+1

您仍然可以在文檔中保留my_id。創建文檔時,只需將id和my_id設置爲相同的內容即可。這只是一小部分的重複,你永遠不會改變id或my_id,對吧? – AndyD

+0

真的!有這種重複感覺有點不對,但它會減少存儲的數據幾個字節,並且不需要新的視圖。聽起來不錯! –