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