Módulo: Mongoid::Contextual::aggregable::Mongo
- Incluído em:
- mongo
- Definido em:
- lib/mongoid/contextual/aggregable/mongo.rb
Visão geral
Contém comportamento para agregar valores no mongo.
Recolhimento do Resumo do método de instância
-
#agregados(campo) ➤ Hash
Obtenha todos os valores agregados para o campo fornecido .
-
#avg(campo) ➤ Flutuante
Obtenha o valor médio do campo fornecido .
-
#max(campo = nil) ➤ Flutuante | Documento
Obtenha o valor máximo do campo fornecido .
-
#min(campo = nil) ➤ Flutuante | Documento
Obtenha o valor mínimo do campo fornecido .
-
#sum(campo = nil) ➤ Flutuante
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 .
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mongoid/contextual/aggregable/mongo.rb', linha 27 def agregados(Campo) Resultado = collection.Agregação( gasoduto(Campo), sessão: _session, hint: vista.dica ).to_a se Resultado.vazio? Agregavel::EMPTY_RESULT.dup mais Resultado.primeiro end end |
#avg(campo) ➤ Flutuante
Obtenha o valor médio do campo fornecido .
49 50 51 |
# File 'lib/mongoid/contextual/aggregable/mongo.rb', linha 49 def avg(Campo) agregados(Campo)['avg'] end |
#max(campo = nil) ➤ Flutuante | Documento
Obtenha o valor máximo do campo fornecido . Se for fornecido um bloco, retornará o document com o maior valor para o campo}, de acordo com a API enumerável do Ruby.
69 70 71 |
# File 'lib/mongoid/contextual/aggregable/mongo.rb', linha 69 def max(Campo = nada) block_given? ? super() : agregados(Campo)['max'] end |
#min(campo = nil) ➤ Flutuante | Documento
Obtenha o valor mínimo do campo fornecido . Se for fornecido um bloco, retornará o Document com o menor valor para o campo}, de acordo com a API enumerável do Ruby.
89 90 91 |
# File 'lib/mongoid/contextual/aggregable/mongo.rb', linha 89 def min(Campo = nada) block_given? ? super() : agregados(Campo)['min'] end |
#sum(campo = nil) ➤ Flutuante
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.
106 107 108 109 110 |
# File 'lib/mongoid/contextual/aggregable/mongo.rb', linha 106 def soma(Campo = nada) Método super(Campo || 0) se block_given? agregados(Campo)['sum'] || 0 end |