Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Criar uma collection com limite

Nesta página

  • Sobre esta tarefa
  • Passos
  • Crie uma coleção limitada com um tamanho máximo
  • Criar uma coleção limitada com um número máximo de documentos
  • Saiba mais

Para criar uma collection limitada, especifique a opção capped para o método db.createCollection() ou para o comando create .

É preciso criar coleções limitadas explicitamente. Você não pode criar uma coleção limitada implicitamente inserindo dados em uma coleção inexistente.

Ao criar uma coleção limitada, é preciso especificar o tamanho máximo da coleção. O MongoDB pré-aloca o armazenamento especificado para a coleção. O tamanho da coleção limitada inclui um pequeno volume de espaço para a sobrecarga interna.

Opcionalmente, você pode especificar um número máximo de documentos para a coleção. O MongoDB remove documentos mais antigos se uma coleção atingir o limite de tamanho máximo antes de atingir a contagem máxima de documentos.

Geralmente, os índices TTL (Time To Live) oferecem melhor desempenho e mais flexibilidade do que as capped collections. Os índices TTL expiram e removem dados de collections normais com base no valor de um campo digitado por data e um valor TTL para o índice.

As coleções limitadas serializam as operações de gravação e, portanto, têm pior desempenho simultâneo de inserção, atualização e exclusão do que as coleções não limitadas. Antes de criar uma coleção limitada, avalie se não é possível usar um índice TTL.

Os exemplos a seguir mostram como:

  • Crie uma coleção limitada com um tamanho máximo

  • Criar uma coleção limitada com um número máximo de documentos

Crie uma collection limitada chamada log que tenha um tamanho máximo de 100.000 bytes:

db.createCollection( "log", { capped: true, size: 100000 } )

Observação

O valor que você fornece para o campo size deve ser maior que 0 e menor ou igual a 1024^5 (1 PB). O MongoDB arredonda o size de todas as coletas limitadas até o número inteiro mais próximo de 256, em bytes.

Crie uma capped collection chamada log2 que tenha um tamanho máximo de 5,242,880 bytes e possa armazenar um máximo de 5,000 documentos:

db.createCollection(
"log2",
{
capped: true,
size: 5242880,
max: 5000
}
)

Importante

O campo size é sempre obrigatório, mesmo quando você especifica o número max de documentos.

Voltar

Capped collections