Módulo: Mongoid::CollectionConfigurable::ClassMethods

Definido em:
lib/mongoid/collection_configurable.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#create_collection(force: false) ➤ Objeto

Crie a coleção para o modelo Mongoide chamado.

Este método não recria coleções existentes.

Se o documento incluir a macro 'store_in' com a chave 'collection_options',

these options are used when creating the collection.

Parâmetros:

  • força (verdadeiro | falso) (padrão para: false)

    Se verdadeiro, o método descartará as collections existentes antes de criar novas. Se falso, o método criará somente nova coleção (que não existe no banco de banco de dados).

Aumenta:



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Arquivo 'lib/mongoid/collection_configurable.rb', linha 24

def create_collection(força: false)
  se collection_name.vazio?
    # Esta é provavelmente uma classe anônima, nós a ignoramos.
    Método
  end
  se collection_name.corresponder(/^system\./)
    # Não façamos nada com coleções do sistema.
    Método
  end
  se força
    collection.derrubar
  end
  se coll_options = collection.database.list_collections(filtro: { nome: collection_name.to_s }).primeiro
    se força
      aumentar Errors::DropCollectionFailure.Novo(collection_name)
    mais
      logger.debug(
        "MONGOID: a coleção '#{collection_name}' já existe " +
        "in banco de dados '#{database_name}'with options '#{coll_options}'."
      )
    end
  mais
    começar
      collection.database[collection_name, storage_options.buscar(:collection_options, {})].criar
    salvar mongo::Erro::Falha de operação => e
      aumentar Errors::CreateCollectionFailure.Novo(
        collection_name,
        storage_options[:collection_options],
        e
      )
    end
  end
end