首頁 > 後端開發 > Golang > 如何使用 Go 在 MongoDB 中設定自動文件過期?

如何使用 Go 在 MongoDB 中設定自動文件過期?

Mary-Kate Olsen
發布: 2024-10-29 17:24:02
原創
365 人瀏覽過

How to Set Up Automatic Document Expiration in MongoDB with Go?

MongoDB 中的文檔在固定時間間隔後過期

在Go 中,使用mongo-go-driver,可以根據指定的時間自動使集合中的文檔過期

說明

要使文件自動過期,您需要:

  1. 使用expireAfterSeconds選項建立索引:這根據欄位(例如createdAt )設定文檔的TTL(生存時間)。
  2. 插入具有指定時間戳字段的文件:插入文件時,確保它們具有createdAt字段來確定 TTL 何時開始。

範例程式碼

在您的Go 程式碼中:

<code class="go">// Add an index to expire documents after 1 second (for testing purposes).
model := mongo.IndexModel{
    Keys:    bson.M{"createdAt": 1},
    Options: options.Index().SetExpireAfterSeconds(1),
}
ind, err := col.Indexes().CreateOne(ctx, model)</code>
登入後複製

有關計時的注意事項

這很重要請注意, expireAfterSeconds 選項指定文件可以刪除的持續時間。然而,實際刪除可能不會立即發生。

MongoDB 每 60 秒執行一次後台任務以刪除過期文件。因此,過期文件在 TTL 過期後可能會在集合中保留最多 60 秒。此外,如果資料庫負載過重,刪除過程可能需要更長的時間。

希望您的文件能夠被及時刪除時請記住這一點。

以上是如何使用 Go 在 MongoDB 中設定自動文件過期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板