Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Menu Docs
Página inicial do Docs
/ /

Capped collections

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:

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 collection limitada. As atualizações podem expandir seus dados além do espaço alocado da collection e 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 persistente com coleções limitadas. Semelhante ao comando tail -f Unix, um cursor persistente recupera continuamente novos documentos do final de uma collection limitada à medida que eles são inseridos.

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 coleções limitadas.

Voltar

Visualizações materializadas sob demanda

Nesta página