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

Capped collections

Nesta página

  • Restrições
  • Sintaxe do comando
  • Casos de uso
  • Começar
  • Comportamento
  • Coleta de registros
  • Índice _id
  • Updates
  • Eficiência da query
  • Cursor atualizado
  • Múltiplas gravações simultâneas
  • Snapshot da preocupação de leitura
  • Saiba mais

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

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 capped collections, consulte createCollection() ou create.

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.

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

Para criar e consultar capped collections, consulte estas páginas:

Considere estes detalhes comportamentais para capped collections.

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 capped collection. Como as capped collections são de tamanho fixo, as atualizações podem fazer com que seus dados se expandam além do espaço alocado da coleção, o que pode causar um comportamento inesperado.

Use ordem natural para recuperar os elementos inseridos mais recentemente da coleção 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 Cursores persistentes.

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

A partir do MongoDB 8.0, você pode usar a preocupação de leitura "snapshot" em capped collections.

Voltar

Visualizações materializadas sob demanda