TTL索引(time-to-live index)允许为每一个文档设置一个超时时间,文档超过这个时间就会被删除。
在ensureIndex中指定expireAfterSecs选项就可以创建一个TTL索引:
>db.foo.ensureIndex({“lastUpdated”:1},{“expireAfterSecs”:60*60*24})
上述命令就为集合foo的lastUpdated字段上创建了一个TTL索引,如果文档的lastUpdated字段为日期类型,当服务器的时间比文档的lastUpdated字段中的时间晚24小时,文档就会被删除。
当TTL建立后可以使用collMod命令修改TTL索引的超时时间:
>db.runCommand({“collMod”:”indexName”,”lastUpdated”:3600)