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