MongoDB 2.2 引入一個新特性–TTL 集合,TTL集合支持失效時間設置,或者在某個特定時間,
集合自動清除超時文檔,者用來保存一個諸如session會話信息的時候非常有用。
如果想使用TTL集合,用用到 expireAfterSeconds 選項
mongo
官網使用文檔設置方法:
Expire Documents after a Specified Number of Seconds
首先創建索引,設置過期時間
db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } )
然后存儲數據入庫
db.log_events.insert( { "createdAt": new Date(), "logEvent": 2, "logMessage": "Success!" } )
mongodb 會在 createdAt 數值大於 expireAfterSeconds 指定的值。
Expire Documents at a Specific Clock Time
與上面的設置類似
首先建立索引,設置 expireAfterSeconds 為 0
db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )
然后存儲數據
db.log_events.insert( { "expireAt": new Date('July 22, 2013 14:00:00'), "logEvent": 2, "logMessage": "Success!" } )
expireAt 的值為特定的時間值,等時間到達expireAt的值時,這個文檔就 失效了。