MongoDB可以通過設置字段TTL(Time To Live )索引來設置過期時間
1、如下所示,test是Collection,設置Date1的過期時間10秒,只要在插入的數據中包含Date1字段,插入數據后10秒之后會自動刪除該條數據
//創建字段的TTL(Time To Live )索引
db.test.ensureIndex({'Date1':1},{expireAfterSeconds:10})
db.test.insertOne({'Date1':new Date(),'Name':'lisi','Age':20})
//修改具有TTL索引的字段期時間,包括集合名稱,具有指定TTL的字段的名稱以及修改以后的過期時間秒,下面是將Date1過期時間從10秒改成20
db.runCommand({collMod: "test",index: { keyPattern: { Date1: 1 },expireAfterSeconds: 20}})
2、如下所示,test是Collection,設置Date1的過期時間0秒,只要在插入的數據中包含Date1字段,並且設置Date1位指定時間的時候,那么插入數據后,只要到Date1設置的時間就會自動刪除該條數據
//創建字段的TTL(Time To Live )索引,這方式設置默認過期時間位0 ,但是可以指定什么時候過期
//db.test.ensureIndex({'Date1':1},{expireAfterSeconds:0})
//db.test.insertOne({'Date1':new Date('August 2, 2020 14:00:00'),'Name':'lisi','Age':20})
查詢數據,觀看數據的變化
db.test.find({})