Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

将集合转换为固定大小

在此页面上

  • 关于此任务
  • 开始之前
  • 步骤
  • 将集合转换为固定大小集合
  • 确认集合已达到上限
  • 了解详情

要将非固定大小集合转换为固定大小集合,请使用 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

后退

验证

来年

更改大小