Módulo: Mongoid::Contextual::aggregable::memory
- Incluído em:
- Memória
- Definido em:
- build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb
Visão geral
Contém comportamento para agregar valores na memória.
Recolhimento do Resumo do método de instância
-
#agregados(campo) ➤ Hash
Obtenha todos os valores agregados para o campo fornecido .
-
#avg(campo) ➤ Numérico
Obtenha o valor médio do campo fornecido .
-
#max(campo = nil) ➤ Numérico | Documento
Obtenha o valor máximo do campo fornecido .
-
#min(campo = nil) ➤ Numérico | Documento
Obtenha o valor mínimo do campo fornecido .
-
#sum(campo = nil) ➤ Numérico
Obtenha o valor da soma do campo fornecido .
Detalhes do método de instância
#agregados(campo) ➤ Hash
Obtenha todos os valores agregados para o campo fornecido . Fornecido para consistência de interface com Aggregable::Mongo.
17 18 19 20 21 |
# File 'build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb', linha 17 def agregados(Campo) %w(contar soma avg min max).cada_com_objeto({}) fazer |Método, hash| hash[Método] = enviar(Método, Campo) end end |
#avg(campo) ➤ Numérico
Obtenha o valor médio do campo fornecido .
31 32 33 34 35 36 37 |
# File 'build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb', linha 31 def avg(Campo) Total = contar { |doc| !doc.enviar(Campo).nada? } Método nada a menos que Total > 0 Total = Total.to_f se Total.is_a?(Inteiro) soma(Campo) / Total end |
#max(field = nil) ➤ Numérico | Documento
Obtenha o valor máximo do campo fornecido . Se for fornecido um bloco, retornará o documento com o maior valor para o campo}, de acordo com a API enumerável do Ruby.
55 56 57 58 59 |
# File 'build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb', linha 55 def max(Campo = nada) Método super() se block_given? aggregate_by(Campo, :max) end |
#min(campo = nil) ➤ Numérico | Documento
Obtenha o valor mínimo do campo fornecido. Se for fornecido um bloco, retornará o documento com o menor valor para o campo, de acordo com a API enumerável do Ruby.
77 78 79 80 81 |
# File 'build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb', linha 77 def min(Campo = nada) Método super() se block_given? aggregate_by(Campo, :min) end |
#soma(campo = nil) ➤ Numérico
Obtenha o valor da soma do campo fornecido . Se for fornecido um bloco, retornará a soma de acordo com a API enumerável do Ruby.
95 96 97 98 99 |
# File 'build/mongoid-8.1/lib/mongoid/contextual/aggregable/memory.rb', linha 95 def soma(Campo = nada) Método super() se block_given? aggregate_by(Campo, :sum) || 0 end |