簡體   English   中英

我應該如何在mongodb中處理並發?

[英]How should I handle concurrency in mongodb?

我正在將數據記錄寫入mongodb的Web服務上。 該服務從mongodb讀取文檔,執行一些計算並更新文檔中的數據,然后將文檔覆蓋回mongodb。 我需要確保在將數據寫回到mongodb之前,沒有其他進程更新過該文檔,否則替換文檔時可能會丟失數據。 如何在應用程序級別確保這樣的數據完整性? 執行計算時可以鎖定文檔嗎? 在替換文檔之前,我應該檢查文檔上的版本號嗎? 業界用於處理此類情況的策略有哪些? 提前致謝

您可以在對update()的調用中查詢要更新的文檔中的值,以檢查該文檔是否仍處於期望的狀態,並確認自上次閱讀文檔以來沒有其他人對其進行過更新。 類似於樂觀鎖定方法。 參見https://docs.mongodb.com/manual/core/write-operations-atomicity/#concurrency-control

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM