MongoDB可以通過TTL(Time To Live)索引來自動刪除過期數據。TTL索引是一種特殊類型的索引,它會根據字段的過期時間自動刪除文檔。
要設置自動刪除過期數據,可以按照以下步驟進行操作:
expireAt
字段,用于存儲文檔的過期時間。expireAt
字段作為索引的鍵,并設置過期時間。db.collection.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
在上述示例中,expireAfterSeconds
參數的值為0,表示過期時間為字段中存儲的具體時間。
如果要設置相對時間,可以將expireAfterSeconds
參數設置為需要過期的秒數,例如設置為86400表示過期時間為24小時。expireAt
字段中。db.collection.insertOne( { "name": "John", "expireAt": new Date("2022-01-01") } )
在上述示例中,將expireAt
字段設置為2022年1月1日,表示文檔將在該日期過期。注意事項:
expireAt
字段中的時間必須是一個UTC時間。