Docs HomeMongoDB Manual

cloneCollectionAsCapped

On this page本页内容

Definition定义

cloneCollectionAsCapped

The cloneCollectionAsCapped command creates a new capped collection from an existing, non-capped collection within the same database. The operation does not affect the original non-capped collection.cloneCollectionAsCapped命令从同一数据库中现有的未封顶集合创建一个新的封顶集合。该操作不会影响原始的非封顶集合。

Syntax语法

The command has the following syntax:该命令具有以下语法:

db.runCommand(
{
cloneCollectionAsCapped: <existing collection>,
toCollection: <capped collection>,
size: <capped size>,
writeConcern: <document>,
comment: <any>
}
)

Command Fields命令字段

The command takes the following fields:该命令包含以下字段:

Field字段Description描述
cloneCollectionAsCappedThe name of the existing collection to copy.要复制的现有集合的名称。
toCollectionThe name of the new capped collection to create.要创建的新封顶集合的名称。
The name of the new capped collection must be distinct and cannot be the same as that of the original existing collection. 新的封顶集合的名称必须不同,并且不能与原始现有集合的名称相同。
sizeThe maximum size,in bytes, for the capped collection.封顶集合的最大大小(以字节为单位)。
writeConcernOptional.可选的。A document expressing the write concern of the drop command. Omit to use the default write concern.表示drop命令的写入关注的文档。忽略使用默认的写入关注。
commentOptional.可选的。
A user-provided comment to attach to this command. 要附加到此命令的用户提供的注释。Once set, this comment appears alongside records of this command in the following locations: 设置后,此注释将与此命令的记录一起显示在以下位置: A comment can be any valid BSON type (string, integer, object, array, etc). 注释可以是任何有效的BSON类型(字符串、整数、对象、数组等)。
New in version 4.4. 4.4版新增。

The command copies an existing collection and creates a new capped collection with a maximum size specified by the capped size in bytes.该命令复制现有集合,并创建一个新的封顶集合,该集合的最大大小由capped size(以字节为单位)指定。

To replace the original non-capped collection with a capped collection, use the convertToCapped command.若要封顶集合替换原始的非封顶集合,请使用convertToCapped命令。

Behavior行为

If the capped size is less than the size of the source collection, then not all documents in the source collection will exist in the destination capped collection.如果capped size小于源集合的大小,则并非源集合中的所有文档都将存在于目标封顶集合中。

This holds a database exclusive lock for the duration of the operation. Other operations which lock the same database will be blocked until the operation completes. See What locks are taken by some common client operations? for operations that lock the database.这将在操作期间保留数据库独占锁。锁定同一数据库的其他操作将被阻止,直到操作完成。请参阅一些常见的客户端操作使用哪些锁?用于锁定数据库的操作。