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 desde Command
#colección, #colección La colección sobre la cual realizar la consulta., #criterios, #criterios 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 ⇒ Enumerador
Itera sobre cada uno de los documentos en el mapa/reducción, excluyendo la información adicional que se pasó 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.
-
#inspeccionar ⇒ Cadena
Obtenga una representación de string de map/reduce, incluidos los criterios, map, reduce, finalize y la opción de salida.
-
#js_mode ⇒ MapReduce
Establece el mapa/reducción para utilizar 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 map/reduce.
-
#reducido ⇒ Entero
Obtenga el número de documentos reducidos por el mapa/reducir.
-
#alcance(objeto) ⇒ MapReduce
Agrega un objeto javascript al alcance global del map/reduce.
-
#tiempo ⇒ Float
Obtener el tiempo de ejecución del mapa/reducción.
Métodos incluidos de Comando
Detalles del constructor
#inicializar(colección, criterios, mapa, reducir) ⇒ MapReduce
Inicializar la nueva directiva map/reduce.
77 78 79 80 81 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 77 def inicializar(Colección, criterios, map, disminuir) @colección = Colección @criteria = criterios @map_reduce = @criteria.vista.mapa_reducir(map, disminuir) end |
Detalles del método de instancia
#comando ⇒ Hash
Devuelve el selector de la especificación del comando.
221 222 223 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 221 def Comando @map_reduce.enviar(:map_reduce_spec)[:selector] end |
#conteos ⇒ Hash
Obtén todos los recuentos devueltos por el map/reduce.
22 23 24 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 22 def recuentos Resultados["cuentas"] end |
#cada uno ⇒ Enumerator
Itera sobre cada uno de los documentos en el mapa/reducción, excluyendo la información adicional que se pasó desde la base de datos.
35 36 37 38 39 40 41 42 43 44 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 35 def cada validate_out! si ¿block_given? @map_reduce.cada hacer |doc| rendimiento doc end else @map_reduce.to_enum end end |
#emitido ⇒ Entero
Obtiene el número de documentos emitidos por map/reduce.
52 53 54 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 52 def emitido recuentos["emit"] end |
#finalizar(función) ⇒ MapReduce
Proporciona una función js finalize para map/reduce.
64 65 66 67 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 64 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.
89 90 91 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 89 def entrada recuentos["entrada"] end |
#inspect ⇒ String
Obtenga una representación de string de map/reduce, incluidos los criterios, map, reduce, finalize y la opción de salida.
207 208 209 210 211 212 213 214 215 216 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 207 def inspeccionar %Q{#<Mongoid::Contextual::MapReduce selector: #{criterios.selector.inspeccionar} clase: #{criterios.clase} mapear: #{comando[:mapear]} reducir: #{comando[:reducir]} finalizar: #{comando[:finalizar]} salida: #{comando[:salida].inspeccionar}> } end |
#js_mode ⇒ MapReduce
Establece el mapa/reducción para utilizar jsMode.
99 100 101 102 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 99 def js_mode @map_reduce = @map_reduce.js_mode(true) sí mismo end |
#salida(ubicación) ⇒ MapReduce
Especifica dónde se almacenará la salida de map/reduce. Consulte la documentación de MongoDB para ver las opciones de map/reduce compatibles.
125 126 127 128 129 130 131 132 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 125 def cabo(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.cabo(normalizado) sí mismo end |
#output ⇒ Integer
Obtenga el número de documentos generados por el map/reduce.
140 141 142 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 140 def salida recuentos["salida"] end |
#raw ⇒ Hash También conocido como: resultados, ejecutar
Obtenga la salida sin procesar de la operación map/reduce.
150 151 152 153 154 155 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 150 def crudo validate_out! cmd = Comando opta = { leer: criterios..obtener(:leer) } si criterios.[:leer] @map_reduce.database.Comando(cmd, (opta || {}).fusionar(sesión: _sesión)).primero end |
#reducido ⇒ Entero
Obtenga el número de documentos reducidos por el mapa/reducir.
173 174 175 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 173 def reducido recuentos["reduce"] end |
#scope(objeto) ⇒ MapReduce
Agrega un objeto javascript al alcance global del map/reduce.
185 186 187 188 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 185 def Alcance(Objeto) @map_reduce = @map_reduce.Alcance(Objeto) sí mismo end |
#hora ⇒ Float
Obtener el tiempo de ejecución del mapa/reducción.
196 197 198 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 196 def hora Resultados["timeMillis"] end |