Navigation

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.

The command has the following syntax:

{ cloneCollectionAsCapped: <existing collection>,
  toCollection: <capped collection>,
  size: <capped size>,
  writeConcern: <document>,
  comment: <any>
}

The command takes the following fields:

Field Description
cloneCollectionAsCapped The name of the existing collection to copy.
toCollection

The 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.

size The maximum size,in bytes, for the capped collection.
writeConcern Optional. A document expressing the write concern of the drop command. Omit to use the default write concern.
comment

Optional. 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).

New in version 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.

To replace the original non-capped collection with a capped collection, use the convertToCapped command.

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.

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.