mongodb 設置自動刪除過期數據


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的值時,這個文檔就 失效了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM