国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > 如何在Mongodb中实现数据超时自动删除功能?

如何在Mongodb中实现数据超时自动删除功能?

来源:程序员人生   发布时间:2016-08-09 08:25:13 阅读次数:3800次

在工作进程中,我们难免会遇到这样的问题,我们想保存1些数据,但是我们对这些数据的要求其实不高,有时候常常只是想要某个时间范围内的数据,比如我们如果永久只关心从当前时间往前推半年内的数据特性,那末我们就不需要将所有数据都保存起来,由于不但浪费磁盘空间,而且随着数据量的不断积累,其他性能也会遭到影响。

这时候候我们迫切的需要1直方法能够在我们插入数据的时候自动的帮我们去删除我们过1段时间就不想要的数据,那末怎样实现呢?

在Mongodb内部,有1个特殊的索引,称为TTL索引,通过该索引即可以实现上面的功能。甚么事TTL 索引?怎样创建1个TTL索引呢?

TTL索引是1个特殊的索引,目前只支持在单个的字段上设置索引,而且该字段必须是日期类型或是包括日期类型的数组类型。我们可以通过createIndex方法来创建1个TTL索引,具体以下所示:

db.collection.createIndex({“createtime”:1},{expireAfterSeconds:60});

通过设置expireAfterSeconds来控制文档的过期时间,后面的数字单位为秒哦!其实,也就是mongodb在后台起了1个线程不断的去查询并删除过期的文档。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生