Menu Docs

Configuração da Coleção

Neste guia, você pode aprender como especificar opções de configuração para uma coleção em seu aplicação Mongoid.

Você pode especificar opções de configuração para uma collection usando o argumento :collection_options com a macro store_in. O argumento :collection_options aceita qualquer opção de collection aceita pelo driver Ruby e pelas versões do MongoDB Server .

Observação

Você deve criar explicitamente uma coleção para aplicar quaisquer opções de coleção especificadas. Crie sua coleção executando a tarefa Rake de gerenciamento de coleção, conforme mostrado na seção Tarefa Rake de gerenciamento de coleção deste guia.

Para saber mais sobre as opções de collection disponíveis no driver Ruby, consulte o guia de Coleções na documentação do driver Ruby.

As seções a seguir mostram exemplos de como configurar as opções de collection ao usar o Mongoid.

As coleções de séries temporais armazenam eficientemente sequências de medições durante um período de tempo. O exemplo a seguir mostra como configurar uma coleção de séries temporais:

class Measurement
include Mongoid::Document
field :temperature, type: Integer
field :timestamp, type: Time
store_in collection_options: {
time_series: {
timeField: "timestamp",
granularity: "minutes"
},
expire_after: 604800
}
end

Para saber mais sobre coleções de séries temporais, consulte o guia Coleções de séries temporais no manual do MongoDB Server .

Coleções limitadas têm tamanho máximo ou contagens de documento que as impedem de crescer além de um limite especificado. O exemplo a seguir mostra como configurar uma collection limitada:

class Blog
include Mongoid::Document
store_in collection_options: {
capped: true,
size: 1024
}
end

Para saber mais sobre coleções limitadas, consulte o guia Coleções limitadas no manual do MongoDB Server .

Agrupamentos são conjuntos de regras sobre como comparar strings, normalmente em uma linguagem natural específica. O exemplo a seguir mostra como especificar um agrupamento padrão para usar em uma coleção:

class Title
include Mongoid::Document
store_in collection_options: {
collation: {
locale: 'fr'
}
}
end

Para saber mais sobre agrupamentos, consulte o guia de Agrupamentos no manual do MongoDB Server .

Para aplicar as opções de collection especificadas em seu aplicação Mongoid, você deve criar explicitamente a collection correspondente. Para fazer isso, use a tarefa db:mongoid:create_collections Rake executando o seguinte comando em seu shell:

rake db:mongoid:create_collections

Você também pode executar o comando create_collection em um único modelo no console do Rails, como mostrado no seguinte exemplo:

Model.create_collection