cloneCollectionAsCapped
定义
cloneCollectionAsCapped
该
cloneCollectionAsCapped
命令从一个现有数据库中的现有非固定集合创建一个新的固定集合。此操作不影响原始的非固定集合。
兼容性
此命令在以下环境中部署的实例中可用
MongoDB Atlas:云中MongoDB部署的全托管服务
重要
此命令在M0、M2和M5集群或无服务器实例中不受支持。有关更多信息,请参阅不受支持的命令。
MongoDB Enterprise:基于订阅的自托管MongoDB版本
MongoDB Community:开源、免费使用且可自托管的MongoDB版本
语法
该命令具有以下语法
db.runCommand( { cloneCollectionAsCapped: <existing collection>, toCollection: <capped collection>, size: <capped size>, writeConcern: <document>, comment: <any> } )
命令字段
该命令包含以下字段
字段 | 描述 |
---|---|
cloneCollectionAsCapped | 要复制的现有集合的名称。 |
toCollection | 要创建的新固定集合的名称。 新固定集合的名称必须唯一,且不能与原始现有集合的名称相同。 |
size | 固定集合的最大大小,以字节为单位。 |
writeConcern | |
注释 | 可选。为该命令附加用户提供的注释。一旦设置,此注释将在以下位置显示与该命令的记录一起
注释可以是任何有效的 BSON 类型(字符串、整数、对象、数组等)。 |
该命令复制一个 现有集合
并创建一个最大大小由字节中的 capped size
指定的新 固定大小集合
。
要使用 convertToCapped
命令将原始非固定大小集合替换为固定大小集合。
行为
如果 capped size
小于源集合的大小,则源集合中的所有文档都不会存在于目标固定大小集合中。
该操作期间会保持数据库独占锁。其他锁定同一数据库的操作将被阻塞,直到操作完成。有关锁定数据库的操作,请参阅 常见客户端操作使用的锁是什么?。