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 de atributos de 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.
Colapso del resumen del método de instancia
-
#comando ⇒ Hash
Devuelve el selector de la especificación del comando.
-
#cuentas ⇒ Hash
Obtenga todos los recuentos devueltos por el mapa/reducción.
-
#cada ⇒ 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
Obtener el número de documentos emitidos por el mapa/reduce.
-
#finalizar(función) ⇒ MapReduce
Proporcione una función finalize js para el mapa/reducción.
-
#inicializar(colección, criterios, mapa, reducir) ⇒ MapReduce
constructor
Inicializar la nueva directiva map/reduce.
-
#input ⇒ Integer
Obtenga la cantidad de documentos que se ingresaron en el mapa/reducción.
-
#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.
-
#salida(ubicación) ⇒ MapReduce
Especifica dónde se almacenará la salida del mapa/reducción.
-
#output ⇒ Integer
Obtenga la cantidad de documentos generados por el mapa/reducción.
-
#raw ⇒ Hash (también: #resultados, #ejecutar)
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 mapa/reducción.
-
#tiempo ⇒ Float
Obtener el tiempo de ejecución del mapa/reducción.
Métodos incluidos en Command
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, reducir) @recopilación = Colección @criteria = criterios @map_reduce = @criteria.vista.mapa_reducir(map, reducir) 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 |
#cuentas ⇒ Hash
Obtenga todos los recuentos devueltos por el mapa/reducción.
22 23 24 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 22 def recuentos resultados["cuenta"] end |
#cada ⇒ 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.
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 ¿bloque_dado? @map_reduce.cada hacer |doc| rendimiento doc end else @map_reduce.to_enum end end |
#emitido ⇒ Entero
Obtener el número de documentos emitidos por el mapa/reduce.
52 53 54 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 52 def emitida recuentos["emit"] end |
#finalizar(función) ⇒ MapReduce
Proporcione una función finalize js para el mapa/reducción.
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) yo end |
#input ⇒ Integer
Obtenga la cantidad de documentos que se ingresaron en el mapa/reducción.
89 90 91 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 89 def entrada recuentos["aporte"] end |
#inspeccionar ⇒ Cadena
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.klass} mapa: #{comando[:map]} reducir: #{comando[:reduce]} 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) yo 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.a_s : valor end @map_reduce = @map_reduce.cabo(normalizado) yo end |
#output ⇒ Integer
Obtenga la cantidad de documentos generados por el mapa/reducción.
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..Fetch(:leer) } Si criterios.[:leer] @map_reduce.database.Comando(cmd, (opta || {}).unir(sesión: _sesión)).primera 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["reducir"] end |
#alcance(objeto) ⇒ MapReduce
Agrega un objeto javascript al alcance global del mapa/reducción.
185 186 187 188 |
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 185 def ámbito de aplicación(Objeto) @map_reduce = @map_reduce.ámbito de aplicación(Objeto) yo end |
#tiempo ⇒ Flotante
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["tiempoMillis"] end |