將MongoDB 與Golang 結合使用:在指定時間段後自動使文件過期
將資料儲存在MongoDB 集合中時,可能需要設定文件的過期時間,確保它們在預先定義的時間間隔後自動刪除。此功能無需手動刪除並防止資料庫混亂,從而增強了資料管理。
在 Go 中,利用 mongo-go-driver,可以輕鬆地為文件設定 TTL(生存時間)。方法如下:
1.建立帶有 ExpireAfterSeconds 選項的索引:
必須在表示過期時間的欄位上建立帶有 expireAfterSeconds 選項的索引。這指定了文件可以刪除的持續時間(以秒為單位)。例如:
<code class="go">model := mongo.IndexModel{ Keys: bson.M{"createdAt": 1}, Options: options.Index().SetExpireAfterSeconds(1), }</code>
2。插入文件:
建立索引後,可以使用所需的createdAt時間戳記插入文件。此時間戳記作為計算過期時間的參考點。
3.監控過期:
mongo-go-driver 不會立即確認文件刪除。這是由於負責刪除過期文件的後台任務的非同步性質。 MongoDB 規定此任務每 60 秒執行一次,這表示過期文件在刪除之前可能會持續長達 60 秒。
注意: 使用expireAfterSeconds 指定的過期時間是相對於createdAt 而言的場地。該文件自建立以來經過指定的時間間隔後即可刪除。實際刪除可能會稍晚一些,這取決於 MongoDB 實例的工作負載。
以上是如何使用 Golang 自動使 MongoDB 中的文件過期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!