0
有沒有辦法在集合中創建全局自動遞增值?MongoDb中的全局自動遞增字段
Perforce擁有changelist的概念,它可以成爲無狀態更新的強大功能。我正在考慮相同類型的功能。
例子:
create> DocA.name = "foo" => changelist = 1
create> DocB.name = "bar" => changelist = 2
update> DocA.name = "bob" => changelist = 3
create> DocC.name = "joe" => changelist = 4
結果:
DocA.changelist = 3
DocB.changelist = 2
DocC.changelist = 4
然後我可以搜索的變更表後所做的任何更改:4和自信我沒有錯過任何東西。
來自mongodb大師的任何想法如何有效地做到這一點?
感謝您的迴應!時間戳總是存在潛在的碰撞問題,直至微秒成爲我們的問題。但是,我想到我們可以使用輔助集合$ INC作爲追加到時間戳的計數器。這個自動遞增的字段文章看起來相當......醜陋。 – darren
嗯,它幾乎聽起來像你需要某種形式的MVCC ...不知道你是如何嫁給MongoDB的,但你可能想看看Riak ......對於自動遞增的文章來說,它並不簡單因爲它不被推薦 –
我明白你對Riak的意思,但我認爲它仍然沒有提供一個不斷增加的數值。通過增加「變更列表」,可以很容易地查找自上次檢查後集閤中發生了哪些變化。 vclock基於散列,出現更多更新和同步衝突解決方案。 – darren