博主自主知识产权《Spring Boot深入浅出系列课程》(16章97节文档) 已经上线,请关注

MongoDB-TTL索引

mongodb 字母哥 0评论

MongoDB-TTL索引

  • TTL = Time To Live
  • 一个设置了TTL的集合,集合将在指定的时间段之后或者在指定的时间点将自动删除文档
  • TTL索引设置在一个Date类型的字段上

指定时间段之后删除文档

  • 在createdAt字段上建立TTL索引,文档1小时之后被删除

db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } )

当我们把下面的文档insert到log_events集合,设置createdAt为当前时间

db.log_events.insert( {
   "createdAt": new Date(),
   "logEvent": 2,
   "logMessage": "Success!"
} )

当文档从insert时间点到当前时间大于expireAfterSeconds时,该文档将被删除。

在指定的时间点删除文档

db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )

当我们把下面的文档insert到log_events集合,设置createdAt为July 22, 2013 14:00:00.

db.log_events.insert( {
   "expireAt": new Date('July 22, 2013 14:00:00'),
   "logEvent": 2,
   "logMessage": "Success!"
} )

当时间点到达July 22, 2013 14:00:00时,文档将被自动删除

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址