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.
-
# máx. (campo = nulo) ⇒ 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.
29 30 31 32 33 34 35 36 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 29 def agregados(Campo) Resultado = Colección.Agregar(pipeline(Campo), sesión: _sesión).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.
46 47 48 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 46 def promedio(Campo) agregados(Campo)["promedio"] end |
#max(campo = nil) ⇒ Float | Documento
Obtén el valor máximo del campo proporcionado. Si se proporciona un bloque, devolverá el Documento con el mayor valor para el campo, de acuerdo con la API Enumerable de Ruby.
66 67 68 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 66 def máximo(Campo = nulo) ¿block_given? ? super() : agregados(Campo)["máximo"] end |
#min(campo = nil) ⇒ Float | Document
Obtén el valor mínimo del campo proporcionado. Si se proporciona un bloque, devolverá el Documento con el valor más pequeño para el campo, de acuerdo con la API enumerable de Ruby.
86 87 88 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 86 def min(Campo = nulo) ¿block_given? ? super() : agregados(Campo)["min"] end |
#suma(campo = nil) ⇒ Float
Obtenga el valor sumado del campo proporcionado. Si se proporciona un bloque, devolverá la suma conforme a la API de enumerables de Ruby.
103 104 105 106 107 |
# Archivo 'lib/mongoid/contextual/aggregable/mongo.rb', línea 103 def suma(Campo = nulo) return super(Campo || 0) si ¿block_given? agregados(Campo)["sum"] || 0 end |