1.固定集合
特殊的索引和集合可自动增长可以容纳更多的数据,MongoDB中还有另一种不同类型的集合,叫做固定集合,固定集合需要事先创建好,而且它的大小是固定的。如果向已经满了的固定集合 中插入数据,最老的文档会被删除以释放空间,新插入的文档会占据这块空间。
创建名为test_coll1,大小为100000字节的固定集合
创建名为test_coll2,大小为100000字节,集合中大多可存100个文档
创建固定集合时还有另一个选项,可以将已有的某个常规集合转换为固定集合,可以使用convertToCapped命令实现,但是无法将固定集合转换成非固定集合(只能将其删除)
2.TTL索引
TTL索引(time-to-live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间,一个文档到达预设置的老化程度之后就会被删除,这种类型的索引对于缓存问题非常有用,在ensureIndex中指定expireAfterSecs选项就可以创建一个TTL索引。
超时时间为24小时的文档删除
例子1:
创建表并新增数据
使用TTL时是有限制的: