溫馨提示×

mongodb過期時間怎么設置

小億
618
2023-07-03 11:59:35
欄目: 云計算

在MongoDB中,可以使用TTL(Time To Live)索引來設置文檔的過期時間。TTL索引是一種特殊類型的索引,它會自動刪除具有指定過期時間的文檔。

要設置TTL索引,可以使用以下步驟:

  1. 在要設置過期時間的字段上創建索引。例如,如果要在名為"createdAt"的字段上設置過期時間,則可以執行以下操作:
db.collection.createIndex({ "createdAt": 1 }, { expireAfterSeconds: 3600 })

上述命令將在"collection"集合上創建一個升序索引,并在指定的字段上設置過期時間為3600秒(1小時)。

  1. 插入或更新文檔時,MongoDB會自動計算并設置過期時間。例如,如果插入一個文檔如下:
db.collection.insertOne({ "createdAt": new Date() })

則該文檔將在插入后的3600秒后過期,并被自動刪除。

需要注意的是,TTL索引只對具有過期時間字段的文檔起作用。如果文檔沒有過期時間字段,或者過期時間字段的值不是一個日期類型,則TTL索引不會生效。

另外,TTL索引不是實時刪除過期文檔的,而是在后臺進程每60秒鐘運行一次,刪除過期的文檔。因此,過期時間可能會有一定的延遲。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女