将集合转换为固定集合
要将非固定集合转换为使用限制集合,可以使用convertToCapped
数据库命令。
convertToCapped
命令在操作期间会锁定数据库。其他锁定相同数据库的操作将被阻塞,直到 convertToCapped
操作完成。
关于此任务
通常,TTL(生存时间)索引比限制集合提供更好的性能和更多的灵活性。TTL索引根据日期类型的字段值和索引的TTL值来过期和删除普通集合中的数据。
限制集合序列化写操作,因此其并发插入、更新和删除性能比非限制集合差。在创建限制集合之前,请考虑是否可以使用TTL索引。
开始之前
创建一个名为 log2
的非限制集合
db.createCollection("log2")
步骤
1
将集合转换为限制集合
要将log2
集合转换为限制集合,请运行convertToCapped
命令
db.runCommand( { convertToCapped: "log2", size: 100000 } )
log2
集合的最大大小为100,000字节。
2
确认集合是限制集合
要确认log2
集合现在是限制集合,请使用isCapped()
方法
db.log2.isCapped()
true