- Reference >
- Database Commands >
- Administration Commands >
- convertToCapped
convertToCapped¶
On this page
-
convertToCapped¶ The
convertToCappedcommand converts an existing, non-capped collection to a capped collection within the same database.The command has the following syntax:
convertToCappedtakes an existing collection (<collection>) and transforms it into a capped collection with a maximum size in bytes, specified by thesizeargument (<capped size>).During the conversion process, the
convertToCappedcommand exhibits the following behavior:- MongoDB traverses the documents in the original collection in natural order and loads the documents into a new capped collection.
- If the
capped sizespecified 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
cloneCollectionAsCappedcommand creates the capped collection and imports the data.- MongoDB drops the original collection.
renameCollectionrenames the new capped collection to the name of the original collection.
Note
MongoDB does not support the
convertToCappedcommand in a sharded cluster.Warning
The
convertToCappedwill not recreate indexes from the original collection on the new collection, other than the index on the_idfield. If you need indexes on this collection you will need to create these indexes after the conversion is complete.
Example¶
Convert a Collection¶
The following example uses a db.collection.save() operation to create
an events collection, and db.collection.stats() to obtain
information about the collection:
MongoDB will return the following:
To convert the events collection into a capped collection and view the
updated collection information, run the following commands:
MongoDB will return the following:
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