Classe: Mongoid::Criteria::Queryable::Selector

Herda:
Smash
  • Objeto
mostrar tudo
Definido em:
lib/mongoid/criteria/queryable/selector.rb

Visão geral

O seletor é um tipo especial de hash que sabe como serializar os valores que entram nele, além de reconhecer nomes alternativos e locais para os nomes das chaves.

Resumo do atributo de instância

Atributos herdados do Smash

#aliased_associations, #aliased_associations As aliased_associations ., #aliases, #aliases Os nomes alternativos., #associations, #associations As associações., #serializers, #serializers Os serializadores.

Recolhimento do Resumo do método de instância

Métodos herdados do Smash

#[], #__deep_copy__, #initialize

Detalhes do construtor

Esta classe herda um construtor de Mongoid::Criteria::Queryable::Smash

Detalhes do método de instância

#merge!(outro) Seletorde ➤

Mescle outro seletor a este.

Exemplos:

Mesclar em outro seletor.

selector.merge!(name: "test")

Parâmetros:

  • Outro (Hash | Seletor)

    O objeto a ser mesclado.

Retorna:



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Arquivo 'lib/mongoid/criteria/queryable/selector.rb', linha 20

def mesclar!(Outro)
  Outro.cada_pair fazer |chave, valor|
    se valor.is_a?(Hash) && auto[chave.to_s].is_a?(Hash)
      valor = auto[chave.to_s].mesclar(valor) fazer |_key, old_val, new_val|
        caso _key.to_s
        quando '$in'
          new_val & old_val
        quando '$nin'
          (old_val + new_val).uniq
        mais
          new_val
        end
      end
    end
    se multi_selection?(chave)
      valor = (auto[chave.to_s] || []).concat(valor)
    end
    Armazenar(chave, valor)
  end
end

#store(key, value) ➤ Object Também conhecido como: []=

Armazene o valor no seletor para a chave fornecida. O seletor lidará com toda a serialização e localização necessárias nesta etapa.

Exemplos:

Armazene um valor no seletor.

selector.store(:key, "testing")

Parâmetros:

  • chave (string | Símbolo)

    O nome do atributo.

  • valor (Objeto)

    O valor a ser adicionado.

Retorna:

  • (Objeto)

    O objeto armazenado.



51
52
53
54
55
56
57
58
59
60
# Arquivo 'lib/mongoid/criteria/queryable/selector.rb', linha 51

def Armazenar(chave, valor)
  name, serializador, serializador = storage_pair(chave)
  se multi_selection?(name)
    store_name = name
    store_value = evolve_multi(valor)
  mais
    store_name, store_value = store_creds(name, serializador, serializador, valor)
  end
  super(store_name, store_value)
end

#to_pipeline ➤ Array<Hash>

Converta o seletor para uma entrada de pipeline de agregação .

Exemplos:

Converta o seletor em um pipeline.

selector.to_pipeline

Retorna:

  • (Array<Hash>)

    A entrada do pipeline para o seletor.



69
70
71
72
73
# Arquivo 'lib/mongoid/criteria/queryable/selector.rb', linha 69

def to_pipeline
  gasoduto = []
  gasoduto.push({ "$match" => auto }) a menos que vazio?
  gasoduto
end