0
我們想在我們當前的項目中應用一些審覈。爲此,我們創建了一個場景,但我看不到如何使原子的點數爲和。MongoDB:驗證文檔未更新
方案
每個文檔都必須有一個timestamp
是將服務器 一個版本。當保存文檔,我們將:
- 驗證文件沒有改變 -首先比較的最新文件的
timestamps
docLatest
與我們想用來存儲docUpdated
文檔。timestamps
必須相等。- 如果不是,保存請求被拒絕。
- 如果可以,轉到下一點。
- 更新文檔
- 與以前的文檔創建差異 -最新的文檔必須是我們的最後 文件。我們將創建一個差異並存儲它。
Thx vdj4y!我需要區分它。我們將使用差異來審計日誌。 我踩了一個更自然的解決方案mongoDb。看看http://mongoosejs.com/docs/guide.html並搜索'option:versionKey'。它爲樂觀鎖定做好了準備。在我的情況下,它會用'__v'代替'timestamp',它是一個簡單的非負數。但我不能讓'__v'出現在我的任何文檔中...... – zatziky
很酷,這非常有趣。雖然在你的情況下,我認爲這是毫無意義的,因爲我認爲你想檢查當前文檔是否是最新的,然後用最新的時間戳替換舊值(以取代不增加它),所以鎖定可能不需要,除非你計劃是增加版本。乾杯 – vdj4y