假設我想在RethinkDB中建模一些小部件。建立過程開始,獲得一個唯一的ID,開始工作一段時間,然後當它完成時,將數據寫入數據庫,並在它給出的ID下面。有很多類型的小部件,並且這些ID在所有這些小部件中都應該是唯一的。RethinkDb中的唯一整數計數器
如果我在Postgres的做,我可能有一個主要widget
表,每個小部件類型(widget_x
,widget_y
等)從主表繼承一個表。該ID將是主要widget
表中的SERIAL類型。當建設過程開始時,我會插入一些數據,獲取我的唯一ID,開始工作,並在建築物完成時更新表格。我可能不會在整個過程中使用交易,因爲建築物可能需要很長時間。
在RethinkDB中如何做到這一點?我真的需要ID是一個遞增的整數,所以我不能使用默認的UUID鍵。我希望每個控件類型都在它自己的表中。
如果我這樣做,查詢每一個部件的建築開始之前:
r.table("counters")
.get("some-uuid-key")
.update({ widget_counter: r.row("widget_counter").add(1) }, {return_vals: true})
會因爲我希望它會,給我的數據庫範圍內唯一的ID,沒有ID衝突的可能性這項工作?
謝謝...