MongoDB定容集合

MongoDB定容集合(capped collection) 用于定义一个大小固定的集合:

1
db.createCollection("coll_name", {capped: true, size:100000})

当插入新的数据导致存储空间超出预设大小时,旧的数据会被清除。但这个表里面的文档是不能被手动删除的,只有 drop 整个表才行。不许删除的原因是为了保持每个文档在磁盘上的位置不变。另外,文档的更新是有限制的,即必须在不增加文档占用空间的前提下才能生效,比如减少字段或减少值的长度,如果更新后的文档比原文档占据更多的空间,就会更新失败。Capped Collection主要用于存储日志信息和缓存一些少用的文档。