Módulo: Mongoid::Contextual::Aggregable::Mongo
- Incluido en:
- mongo
- Definido en:
- lib/mongoid/contextual/aggregable/mongo.rb
Overview
Contiene el comportamiento para agregar valores en Mongo.
Resumen del método de instancia colapsar
-
#agregados(campo) ⇒ Hash
Obten todos los valores agregados para el campo proporcionado.
-
#avg(campo) ⇒ Float
Obtenga el valor promedio del campo proporcionado.
-
#max(campo = nil) ⇒ Flotante | documento
Obtenga el valor máximo del campo proporcionado.
-
#min(campo = nil) ⇒ Float | Documento
Obtenga el valor mínimo del campo proporcionado.
-
#suma(campo = nil) ⇒ Float
Obtén el valor de suma del campo proporcionado.
Detalles del método de instancia
#agrega(campo) ⇒ Hash
Obten todos los valores agregados para el campo proporcionado.
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 27 def agregados(Campo) Resultado = Colección.Agregar( pipeline(Campo), sesión: _sesión, hint: vista.hint ).to_a si Resultado.¿vacío? Agregable::EMPTY_RESULT.dup else Resultado.primero end end |
#avg(campo) ⇒ Float
Obtenga el valor promedio del campo proporcionado.
49 50 51 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 49 def promedio(Campo) agregados(Campo)['avg'] end |
#max(campo = nil) ⇒ Float | Documento
Obtén el valor máximo del campo proporcionado. Si se proporciona un bloque, retornará el Document con el mayor valor para el campo, de acuerdo con la API enumerable de Ruby.
69 70 71 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 69 def máximo(Campo = nulo) ¿block_given? ? super() : agregados(Campo)['max'] end |
#min(campo = nil) ⇒ Float | Document
Obten el valor mínimo del campo proporcionado. Si se proporciona un bloque, devolverá el document con el valor más pequeño para el campo, de acuerdo con la API enumerable de Ruby.
89 90 91 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 89 def min(Campo = nulo) ¿block_given? ? super() : agregados(Campo)['min'] end |
#suma(campo = nil) ⇒ Float
GET el valor total del campo proporcionado. Si se proporciona un bloque, devolverá la suma de acuerdo con la API enumerable de Ruby.
106 107 108 109 110 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 106 def suma(Campo = nulo) return super(Campo || 0) si ¿block_given? agregados(Campo)['sum'] || 0 end |