Módulo: Mongoid::Contextual::Agregable::Mongo
- Incluido en:
- Mongo
- Definido en:
- lib/mongoid/contextual/agregable/mongo.rb
Overview
Contiene el comportamiento para agregar valores en Mongo.
Colapso del resumen del método de instancia
-
#agregados(campo) ⇒ Hash
Obtenga todos los valores agregados para el campo proporcionado.
-
#avg(campo) ⇒ Flotante
Obtenga el valor promedio del campo proporcionado.
-
# máx. (campo = nulo) ⇒ Flotante |Documento
Obtenga el valor máximo del campo proporcionado.
-
#min(campo = nulo) ⇒ Flotante | Documento
Obtenga el valor mínimo del campo proporcionado.
-
#suma(campo = nulo) ⇒ Flotante
Obtenga el valor de la suma del campo proporcionado.
Detalles del método de instancia
#agregados(campo) ⇒ Hash
Obtenga 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.primera end end |
#avg(campo) ⇒ Flotante
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 |
# máx. (campo = nulo)⇒ Flotante | Documento
Obtiene el valor máximo del campo proporcionado. Si se proporciona un bloque, se 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) ¿bloque_dado? ? Super() : agregados(Campo)["máximo"] end |
#min(campo = nulo) ⇒ Flotante | Documento
Obtiene el valor mínimo del campo proporcionado. Si se proporciona un bloque, se devolverá el documento con el valor mínimo 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) ¿bloque_dado? ? Super() : agregados(Campo)["min"] end |
#suma(campo = nulo) ⇒ Flotante
Obtiene el valor de la suma del campo proporcionado. Si se proporciona un bloque, se devolverá la suma según la API enumerable 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 ¿bloque_dado? agregados(Campo)["suma"] || 0 end |