Módulo: Mongoid::Criteria::Modificável

Incluído em:
Mongoid::Criteria
Definido em:
lib/mongoid/criteria/modavailable.rb

Visão geral

Módulo Mixin para Mongoid::Criteria que adiciona a capacidade de construir ou criar novos documentos com atributos inicializados para as condições dos critérios.

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do atributo da instância

#create_attrs ➤ Objeto (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.



14
15
16
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 14

def create_attrs
  @create_attrs
end

#create_attrs Atributos adicionais a serem adicionados ao documento após a criação.(Atributos adicionais para adicionar ao documento na criação.) ➤ Objeto (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.



14
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 14

attr_reader :create_attrs

Detalhes do método de instância

#build(attrs = {}, &block) ➤ Documento também conhecido como: novo

Construa um documento com o seletor e devolva-o. Critérios complexos, como operações $in e $or serão ignorados.

Exemplos:

construir o documento.

Person.where(:title => "Sir").build

Construa com seletores sendo ignorados.

Person.where(:age.gt => 5).build

Retorna:

  • (Documento)

    Um documento não persistente .



26
27
28
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 26

def COMPILAR(attrs = {}, &noum: bloco ; verb: bloquear)
  create_document(:new, attrs, &noum: bloco ; verb: bloquear)
end

#create(attrs = {}, &block) ➤ Documento

Crie um documento no banco de banco de dados fornecido o seletor e retorne-o. Critérios complexos, como operações $in e $or serão ignorados.

Exemplos:

Crie o documento.

Person.where(:title => "Sir").create

Crie com seletores sendo ignorados.

Person.where(:age.gt => 5).create

Retorna:

  • (Documento)

    Um documento recém-criado.



41
42
43
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 41

def criar(attrs = {}, &noum: bloco ; verb: bloquear)
  create_document(:create, attrs, &noum: bloco ; verb: bloquear)
end

#criar!(attrs = {}, &block) ➤ Documento

Crie um documento no banco de banco de dados fornecido o seletor e retorne-o. Critérios complexos, como operações $in e $or serão ignorados. Se a validação falhar, será gerado um erro.

Exemplos:

Crie o documento.

Person.where(:title => "Sir").create

Crie com seletores sendo ignorados.

Person.where(:age.gt => 5).create

Retorna:

  • (Documento)

    Um documento recém-criado.

Aumenta:



58
59
60
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 58

def criar!(attrs = {}, &noum: bloco ; verb: bloquear)
  create_document(:create!, attrs, &noum: bloco ; verb: bloquear)
end

#create_with(attrs = {}) ➤ Mongoid::Criteria

Defina os atributos com os quais novos documentos serão criados.

Observe que, se 'find_or_create_by' for chamado depois disso em uma cadeia de métodos, os atributos na query substituirão os deste método.

Exemplos:

Defina os atributos a serem usados quando um novo documento for criado.

Person.create_with(job: 'Engineer').find_or_create_by(employer: 'MongoDB')

Retorna:



71
72
73
74
75
76
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 71

def create_with(attrs = {})
  toque fazer
    @create_attrs ||= {}
    @create_attrs.update(attrs)
  end
end

#find_or_create_by(attrs = {}, &block) ➤ Documento

Encontre o primeiro Document dadas as condições ou crie um novo documento com as condições que foram fornecidas.

Exemplos:

Encontre ou crie o documento.

Person.find_or_create_by(:attribute => "value")

Parâmetros:

  • attrs (Hash) (padrão para: {})

    Os atributos a serem verificados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-criado.



87
88
89
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 87

def find_or_create_by(attrs = {}, &noum: bloco ; verb: bloquear)
  find_or(:create, attrs, &noum: bloco ; verb: bloquear)
end

#find_or_create_by!(attrs = {}, &block) ➤ Documento

Encontre o primeiro Document dadas as condições ou crie um novo documento com as condições que foram fornecidas. Se a validação falhar, uma exceção será gerada.

Exemplos:

Encontre ou crie o documento.

Person.find_or_create_by!(:attribute => "value")

Parâmetros:

  • attrs (Hash) (padrão para: {})

    Os atributos a serem verificados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-criado.

Aumenta:



103
104
105
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 103

def find_or_create_by!(attrs = {}, &noum: bloco ; verb: bloquear)
  find_or(:create!, attrs, &noum: bloco ; verb: bloquear)
end

#find_or_initialize_by(attrs = {}, &block) ➤ Documento

Encontra o primeiro Document de acordo com as condições ou inicializa um novo documento com as condições que foram fornecidas.

Exemplos:

Encontre ou inicialize o documento.

Person.find_or_initialize_by(:attribute => "value")

Parâmetros:

  • attrs (Hash) (padrão para: {})

    Os atributos a serem verificados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-inicializado.



116
117
118
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 116

def find_or_initialize_by(attrs = {}, &noum: bloco ; verb: bloquear)
  find_or(:new, attrs, &noum: bloco ; verb: bloquear)
end

#first_or_create(attrs = nil, &block) ➤ Documento

Encontre o primeiro Document ou cria um novo documento com as condições que foram fornecidas mais atributos.

Exemplos:

Primeiro ou crie o documento.

Person.where(name: "Jon").first_or_create(attribute: "value")

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    Os atributos adicionais a serem adicionados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-criado.



129
130
131
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 129

def first_or_create(attrs = nada, &noum: bloco ; verb: bloquear)
  first_or(:create, attrs, &noum: bloco ; verb: bloquear)
end

#first_or_create!(attrs = nil, &block) ➤ Documento

Encontre o primeiro Document ou crie um novo documento com as condições que foram fornecidas mais atributos e gerará um erro se a validação falhar.

Exemplos:

Primeiro ou crie o documento.

Person.where(name: "Jon").first_or_create!(attribute: "value")

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    Os atributos adicionais a serem adicionados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-criado.



143
144
145
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 143

def first_or_create!(attrs = nada, &noum: bloco ; verb: bloquear)
  first_or(:create!, attrs, &noum: bloco ; verb: bloquear)
end

#first_or_initialize(attrs = nil, &block) ➤ Documento

Encontre o primeiro Document ou inicializa um novo documento com as condições que foram fornecidas mais atributos.

Exemplos:

Primeiro ou inicialize o documento.

Person.where(name: "Jon").first_or_initialize(attribute: "value")

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    Os atributos adicionais a serem adicionados.

Retorna:

  • (Documento)

    Um documento correspondente ou recém-inicializado.



156
157
158
# Arquivo 'lib/mongoid/criteria/modavailable.rb', linha 156

def first_or_initialize(attrs = nada, &noum: bloco ; verb: bloquear)
  first_or(:new, attrs, &noum: bloco ; verb: bloquear)
end