- convertToCapped
- Aviso- Não execute este comando em collection fragmentadas- O MongoDB não suporta o comando - convertToCappedem collections fragmentadas.- O comando - convertToCappedconverte uma collection não limitada existente em umacollection limitada collection limitada dentro do mesmo banco de dados de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem 
Não há suporte para aplicativos gratuitos e .
- MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB 
- MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB 
Sintaxe
O comando tem a seguinte sintaxe:
{ convertToCapped: <collection>,    size: <capped size>,    writeConcern: <document>,    comment: <any> } 
Campos de comando
O comando utiliza os seguintes campos:
| Campo | Descrição | 
|---|---|
| convertToCapped | O nome da collection existente para converter. | 
| Tamanho | O tamanho máximo, em bytes, para a collection limitada. | 
| writeConcern | |
| 
 | Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais: 
 Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc). | 
convertToCapped pega uma coleção existente (<collection>) e a transforma em uma collection limitada com um tamanho máximo em bytes, especificado pelo argumento size (<capped size>).
Durante o processo de conversão, o comando convertToCapped apresenta o seguinte comportamento:
- O MongoDB atravessa os documentos na coleção original em
- ordem natural e carrega os documentos em uma nova collection limitada.
 
- Se o capped sizeespecificado para a collection limitada for
- menor que o tamanho da coleção original sem limite, o MongoDB substituirá os documentos na collection limitada com base na ordem de inserção ou no primeiro pedido.
 
- Se o 
- Internamente, para converter a coleção, o MongoDB utiliza o seguinte
- Procedimento - cloneCollectionAsCappedo comando cria o limite
- coleção e importa os dados.
 
- O MongoDB descarta a collection original. 
- renameCollectionrenomeia a nova collection limitada
- ao nome da coleção original.
 
 
 
- Isso mantém uma trava exclusiva do banco de dados durante a operação. Outras operações que travam o mesmo banco de dados serão bloqueadas até a operação ser concluída. Consulte Quais travas são feitas por algumas operações comuns do cliente? para saber quais operações travam o banco de dados. 
Aviso
O convertToCapped não recriará índices da coleção original na nova coleção, exceto o índice do campo _id. Se você precisar de índices nesta coleção, será necessário criar esses índices após a conversão terminar.
Exemplo
Converter uma collection
O exemplo a seguir usa db.collection.insertOne() para criar uma collection events e db.collection.stats() para obter informações sobre a collection:
db.events.insertOne( { click: 'button-1', time: new Date() } ) db.events.stats() 
O MongoDB retornará o seguinte:
{         "ns" : "test.events",         ...         "capped" : false,         ... } 
Para converter a collection events em uma collection limitada e exibir as informações atualizadas da collection, execute os seguintes comandos:
db.runCommand( { convertToCapped: 'events', size: 8192 } ) db.events.stats() 
O MongoDB retornará o seguinte:
{      "ns" : "test.events",      ...      "capped" : true,      "max" : NumberLong("9223372036854775807"),      "maxSize" : 8192,      ... } 
O convertToCapped não recriará índices da coleção original na nova coleção, exceto o índice do campo _id. Se você precisar de índices nesta coleção, será necessário criar esses índices após a conversão terminar.