mongodb 数据定时删除(索引删除)

文章介绍了MongoDB的TTL(TimeToLive)功能,用于自动清理过期数据。通过创建特定的索引,设置`expireAfterSeconds`参数,可以指定文档在多久后过期并被删除。例如,创建一个基于`createDate`字段的索引,设置60秒的过期时间,数据将在创建后60秒至120秒内被删除。MongoDB后台线程每60秒检查一次,因此数据不会立即删除。
摘要由CSDN通过智能技术生成
mogodb 数据量大的情况下,需要定期删除数据,方案有31. 写个程序,每晚去跑,删除30天前的数据
2. 服务器写个corn定时任务,定期删除
3. mongodb自带TTL过期删除功能


讲讲第3种情况.
001. 创建索引(单位s),作用在字段 createDate,值必须为当前时间 new Date(),表示 失效时间为当前时间加 60s 后过期。 
 db.testcollection.createIndex( { "createDate": 1 }, { expireAfterSeconds: 60 },{backgroup: true})
002. 插入数据
db.testcollection.insertOne( {
   "createDate": new Date(),
   "age": 18,
   "addr": "xxxxxx",
   "name":"李四"
} )
003. 观察到 数据在 大于等于60s,且小于等于120s 已经删除了
判断索引到期时间,超过当前时间,就会删除这条数据。
mongodb 后台线程 60s 运行一次,所以数据不会到期立刻删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值