4.3.2集合(盖子集合、TTL集合)

盖子集合
盖子集合(capped collection,也指有上限的集合,好像盖了盖子一样)。盖子集合最初是为高性能日志场景设计的。它与标准的集合不同,因为有固定的大小。这意味着一旦盖子集合达到最大上限,后续的插入将会覆盖最先插入的文档数据。
创建盖子集合
db.createCollection("users.actions",{capped:true,size:16384})
创建指定最大文档量盖子集合
db.createCollection("users.actions",{capped:true,size:16384,max:100})
盖子集合不允许正常集合的所有操作。不允许从盖子集合里删除单个文档,也不能增加文档的大小。

TTL集合
MongoDB允许在特定的时间后废弃文档数据,有时候叫做生存时间time-to-live(TTL)集合,这个功能实际上是通过一个特殊的索引实现的。
创建TTL索引
db.reviews.createIndex({time_field:1},{expireAfterSeconds:3600})
这个命令会在(time_field)字段上创建索引。这个字段会定期检查时间戳,与当前时间值比较,如果过期,文档就会自动删除。
TTL索引不能在_id字段创建TTL索引,或者在其他已经建立索引的字段上建立TTL索引。也不能在盖子集合中使用TTL索引,因为它不支持删除单个索引。




posted @ 2021-01-15 09:39  _Shing  阅读(248)  评论(0)    收藏  举报