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的值时,这个文档就 失效了。
作者:apegu
地址:http://www.cnblogs.com/jiangqw
如果,您认为阅读这篇博客让您有些收获,不妨点击一下推荐按钮。