[英]What is the use-case for `CancellationTokenSource.TryReset`?
[英]Mongo DB GridFS + Document transaction (typical use-case)
從MSSQL世界到mongo,我都對典型的用例有了一個未曾質疑的問題。 (我沒有在官方網站上找到有關它的信息)。 我想你們都做了這樣的事情:
例如:我想保護一些文件+元數據(文件名+文件長度)。
問題 :
1)因為沒有事務,如果我的操作在步驟2之后失敗了,我應該如何處理情況-只有流本身。 有什么正確的方法來處理它? 將數據庫分片到10台服務器,並祈禱它永遠不會失敗? 創建后台服務以清理不一致的記錄?
2)如何正確處理GridFS:以容錯方式刪除文檔+流,重寫流?
3)當我的操作需要更改幾個對象時,該如何處理?
1&2)上傳失敗時,您應該獲得MongoGridFSException。 因此,只要您認為合適,就可以在catch子句中處理它。 如果元數據不太大,您還可以使用備用的上載api ,並將元數據通過createOptions參數傳遞。
3)對於更一般的情況,如果要確保最后一個操作成功完成,可以使用getLastError命令來確保最后一個操作沒有錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.