更改固定大小集合的大小
6.0 版本中的新功能。
要更改固定大小固定大小集合的大小,请使用 collMod
命令的cappedSize
选项。 cappedSize
以字节为单位,且必须大于0
且小于或等于1024^5
( 1 PB )。
如果 cappedSize
小于集合当前大小,MongoDB 则会在执行下一插入操作时删除多出的文档。
关于此任务
通常情况下,TTL(存活时间)索引比固定大小集合提供更好的性能和更大的灵活性。TTL 索引会过期,并根据日期类型字段的值和索引的 TTL 值从正常集合中删除数据。
固定大小集合对写入操作进行序列化,因此其并发插入、更新和删除性能不如非固定大小集合。在创建固定大小集合之前,请考虑是否可以改用 TTL 索引。
开始之前
创建一个名为log
的固定大小集合,其最大大小分别为2 、 621 、 440字节:
db.createCollection( "log", { capped: true, size: 2621440 } )
步骤
运行以下命令,将log
集合的最大大小设置为5 、 242 、 880字节:
db.runCommand( { collMod: "log", cappedSize: 5242880 } )