Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Capped collections

Nesta página

  • Restrições
  • Sintaxe do comando
  • Casos de uso
  • Começar
  • Detalhes
  • Coleta de registros
  • Índice _id
  • Atualizações
  • Eficiência da query
  • Cursor atualizado
  • Várias gravações simultâneas
  • Saiba mais

A coleção limitada são collection de tamanho fixo que inserem e recuperam documento com base na ordem de inserção. A coleção limitada funcionam de forma semelhante aos buffers circulares: uma vez que uma collection preenche seu espaço alocado, ela abre espaço para novos documento substituindo os documento mais antigos da collection.

O exemplo a seguir cria uma coleção limitada chamada log com um tamanho máximo de 100,000 bytes.

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

Para obter mais informações sobre como criar coleção limitada, consulte createCollection() ou create.

Geralmente, TTL oferecem melhor desempenho e mais flexibilidade do que as coleção limitada. TTL expiram e removem dados de collection normais com base no valor de um campo digitado por data e um valor TTL para o índice.

As coleção limitada serializam inserções e, portanto, têm pior desempenho de inserção simultânea do que as collection. Antes de criar uma collection limitada, confira se você pode usar um índice TTL.

O caso de uso mais comum de uma capped collection é armazenar informações de registro. Quando a coleção limitada atinge seu tamanho máximo, as entradas de registro antigas são automaticamente substituídas por novas entradas.

Para criar e query coleção limitada, consulte estas páginas:

Considere estes detalhes comportamentais para coleção limitada.

A collection oplog.rs que armazena um registro das operações em um conjunto de réplicas utiliza uma capped collection.

Diferente de outras capped collections, o oplog pode ultrapassar o limite de tamanho configurado para evitar a exclusão do majority commit point.

Observação

O MongoDB arredonda o tamanho limitado do oplog para o número inteiro mais próximo que seja múltiplo de 256, em bytes.

As coletas mapeadas têm um campo _id e um índice no campo _id por padrão.

Evite atualizar dados em uma coleção limitada. Como as collection são de tamanho fixo, as atualizações podem fazer com que seus dados se expandam além do espaço alocado da collection, o que pode causar um comportamento inesperado.

Use a ordem natural para recuperar os elementos inseridos mais recentemente da collection de forma eficiente. Isto é semelhante ao uso do comando tail em um arquivo de log.

Você pode usar um cursor tailable com coleções limitadas. Semelhante ao comando Unix tail -f , o cursor tailable "tails" o final de uma coleção limitada. À medida que novos documentos são inseridos na coleção limitada, você pode usar o cursor tailable para continuar recuperando documentos.

Para obter informações sobre como criar um cursor persistente, consulte cursor persistente.

Se houver gravadores simultâneos em uma collection, o MongoDB não garante que os documento sejam devolvidos na ordem de inserção.

← Visualizações materializadas sob demanda