This version of the documentation is archived and no longer supported.



The convertToCapped command converts an existing, non-capped collection to a capped collection within the same database.

The command has the following syntax:

{convertToCapped: <collection>, size: <capped size> }

convertToCapped takes an existing collection (<collection>) and transforms it into a capped collection with a maximum size in bytes, specified to the size argument (<capped size>).

During the conversion process, the convertToCapped command exhibit the following behavior:

  • MongoDB transverses the documents in the original collection in natural order and loads the documents into a new capped collection.
  • If the capped size specified for the capped collection is smaller than the size of the original uncapped collection, then MongoDB will overwrite documents in the capped collection based on insertion order, or first in, first out order.
  • Internally, to convert the collection, MongoDB uses the following procedure
    • cloneCollectionAsCapped command creates the capped collection and imports the data.
    • MongoDB drops the original collection.
    • renameCollection renames the new capped collection to the name of the original collection.


MongoDB does not support the convertToCapped command in a sharded cluster.


The convertToCapped will not recreate indexes from the original collection on the new collection, other than the index on the _id field. If you need indexes on this collection you will need to create these indexes after the conversion is complete.

See also



This command obtains a global write lock and will block other operations until it has completed.