Clase: Mongoid::Contextual::MapReduce
- Hereda:
-
Objeto
- Objeto
- Mongoid::Contextual::MapReduce
- Ampliado por:
- Reenviable
- Incluye:
- Enumerable, Comando
- Definido en:
- lib/mongoid/contextual/map_reduce.rb
Overview
Representa una instrucción de comando de base de datos mapReduce.
Resumen del atributo de la instancia
Atributos incluidos de Comando
#collection, #collection La colección con la que query., #criteria, #criteria Los criterios para el contexto.
Resumen del método de instancia colapsar
-
#command ⇒ Hash
Devuelve el selector de la especificación del comando.
-
#cuentas ⇒ Hash
Obtén todos los recuentos devueltos por el map/reduce.
-
#each(&block) ⇒ Enumerator
Itera sobre cada uno de los documentos en el map-reduce, excluyendo la información extra que se devolvió desde la base de datos.
-
#emitido ⇒ Entero
Obtiene el número de documentos emitidos por map/reduce.
-
#finalize(función) ⇒ MapReduce
Proporciona una función js finalize para map/reduce.
-
#initialize(colección, criterios, map, reduce) ⇒ MapReduce
constructor
Inicializar la nueva directiva map/reduce.
-
#input ⇒ Integer
Obtiene el número de documentos que se ingresaron al map/reduce.
-
#inspect ⇒ string
Obtenga una representación de string de map/reduce, incluidos los criterios, map, reduce, finalize y la opción de salida.
-
#js_mode ⇒ MapReduce
Define el map/reduce para usar jsMode.
-
#out(ubicación) ⇒ MapReduce
Especifica dónde se almacenará el resultado de map/reduce.
-
#output ⇒ Integer
Obtenga el número de documentos generados por el map/reduce.
-
#raw ⇒ Hash (también: #results, #execute)
Obtenga la salida sin procesar de la operación de map-reduce.
-
#reducido ⇒ Entero
Obtén el número de documentos reducidos por el map-reduce.
-
#scope(object) ⇒ MapReduce
Agrega un objeto javascript al alcance global del map/reduce.
-
#tiempo ⇒ Float
Obtén el tiempo de ejecución del map-reduce.
Métodos incluidos de Comando
Detalles del Constructor
#inicializar(colección, criterios, map, reduce) ⇒ MapReduce
Inicializar la nueva directiva map/reduce.
73 74 75 76 77 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 73 def inicializar(Colección, criterios, map, disminuir) @colección = Colección @criteria = criterios @map_reduce = @criteria.vista.map_reduce(map, disminuir) end |
Detalles del método de instancia
#command ⇒ Hash
Devuelve el selector de la especificación del comando.
217 218 219 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 217 def Comando @map_reduce.enviar(:map_reduce_spec)[Selector:] end |
#conteos ⇒ Hash
Obtén todos los recuentos devueltos por el map/reduce.
20 21 22 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 20 def recuentos Resultados['cuentas'] end |
#each(&block) ⇒ Enumerator
Itera sobre cada uno de los documentos en el map-reduce, excluyendo la información extra que se devolvió desde la base de datos.
33 34 35 36 37 38 39 40 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 33 def cada(&bloque) validate_out! si ¿block_given? @map_reduce.cada(&bloque) else @map_reduce.to_enum end end |
#emitido ⇒ Integer
Obtiene el número de documentos emitidos por map/reduce.
48 49 50 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 48 def emitido recuentos['emit'] end |
#finalizar(función) ⇒ MapReduce
Proporciona una función js finalize para map/reduce.
60 61 62 63 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 60 def finaliza(Función) @map_reduce = @map_reduce.finaliza(Función) sí mismo end |
#input ⇒ Integer
Obtiene el número de documentos que se ingresaron al map/reduce.
85 86 87 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 85 def entrada recuentos['input'] end |
#inspect ⇒ String
Obtenga una representación de string de map/reduce, incluidos los criterios, map, reduce, finalize y la opción de salida.
203 204 205 206 207 208 209 210 211 212 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 203 def inspeccionar %(#<Mongoid::Contextual::MapReduce selector: #{criteria.selector.inspect} clase: #{criteria.klass} map: #{command[:map]} reducir: #{command[:reduce]} finalizar: #{command[:finalize]} fuera: #{command[:out].inspect}> ) end |
#js_mode ⇒ MapReduce
Define el map/reduce para usar jsMode.
95 96 97 98 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 95 def js_mode @map_reduce = @map_reduce.js_mode(true) sí mismo end |
#salida(ubicación) ⇒ MapReduce
Especifica dónde se deben almacenar los resultados de map/reduce. Por favor, consulte la documentación de MongoDB para conocer las opciones de map reduce compatibles.
121 122 123 124 125 126 127 128 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 121 def salida(Ubicación) normalizado = Ubicación.dup normalizado.transform_values! hacer |Valor| Valor.is_a?(::Símbolo) ? Valor.to_s : Valor end @map_reduce = @map_reduce.salida(normalizado) sí mismo end |
#output ⇒ Integer
Obtenga el número de documentos generados por el map/reduce.
136 137 138 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 136 def salida recuentos['output'] end |
#raw ⇒ Hash También conocido como: resultados, ejecutar
Obtenga la salida sin procesar de la operación de map-reduce.
146 147 148 149 150 151 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 146 def crudo validate_out! cmd = Comando opciones = { leer: criterios..obtener(:leer) } si criterios.[:leer] @map_reduce.database.Comando(cmd, (opciones || {}).fusionar(sesión: _sesión)).primero end |
#reducido ⇒ Integer
Obtén el número de documentos reducidos por el map-reduce.
169 170 171 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 169 def reducido recuentos['reducir'] end |
#scope(objeto) ⇒ MapReduce
Agrega un objeto javascript al alcance global del map/reduce.
181 182 183 184 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 181 def Alcance(Objeto) @map_reduce = @map_reduce.Alcance(Objeto) sí mismo end |
#hora ⇒ Float
Obtén el tiempo de ejecución del map-reduce.
192 193 194 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 192 def hora Resultados['timeMillis'] end |