Expire Data from Collections by Setting TTL
重复的内容不翻译了。
Procedures
Expire Docuemnts after a Specified Number of Seconds
在BSON date类型或BSON date类型数组上,创建索引时,指定expreAfterSeconds
属性一个非0的值,文档将在经过指定的秒数后过期。
例如,下面的示例中,将在集合log_events的createAt字段上创建索引,并指定了expireAfterSeconds
的值为3600,数据将在createAt
字段表示的时间之后3600秒过期:
db.log_events.createIndex({"createdAt":1}, {expireAfterSeconds:3600})
往集合中添加文档,并指定createAt
的值为当前时间:
db.log_events.insert({
"createdAt": new Date(),
"logEvent" : 2,
"logMessage": "Success!"
})
MongoDB将在3600秒后,自动改文档。
Expire Documents at a Specific Clock Time
在创建一个在指定时间过期的TTL索引,需要在一个Date类型或Date类型数组的字段上创建索引,并指定expireAfterSeconds
为0。如果该时间是过去的时间,则MongoDB判定该文档已经过期。
For Example:
db.log_events.createIndex({"expireAt":1}, {expreAfterSeconds:0})