Clase: Mongoid::Contextual::MapReduce

Hereda:
Objeto
  • Objeto
Mostrar todo
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

Métodos incluidos de Comando

cliente

Detalles del Constructor

#inicializar(colección, criterios, map, reduce) ⇒ MapReduce

Inicializar la nueva directiva map/reduce.

Ejemplos:

Inicializa el nuevo map/reduce.

MapReduce.new(criteria, map, reduce)

Parámetros:

  • criterios (Criterios)

    Los criterios de Mongoid.

  • map (string)

    La función js de mapa.

  • disminuir (string)

    La función reduce js.



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

#commandHash

Devuelve el selector de la especificación del comando.

Devuelve:

  • (encriptada)

    El selector.



217
218
219
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 217

def Comando
  @map_reduce.enviar(:map_reduce_spec)[Selector:]
end

#conteosHash

Obtén todos los recuentos devueltos por el map/reduce.

Ejemplos:

Obtén los recuentos.

map_reduce.counts

Devuelve:

  • (encriptada)

    Los recuentos.



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.

Ejemplos:

Iterar sobre los resultados.

map_reduce.each do |doc|
  p doc
end

Devuelve:

  • (Enumerator)

    El enumerador.



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

#emitidoInteger

Obtiene el número de documentos emitidos por map/reduce.

Ejemplos:

Obtenga el recuento de documentos emitidos.

map_reduce.emitted

Devuelve:

  • (Número entero)

    El número de documentos emitidos.



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.

Ejemplos:

Proporcione una función de finalización.

map_reduce.finalize(func)

Parámetros:

  • Función (string)

    La función_finalize().

Devuelve:



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

#inputInteger

Obtiene el número de documentos que se ingresaron al map/reduce.

Ejemplos:

Obtener el conteo de documentos de entrada.

map_reduce.input

Devuelve:

  • (Número entero)

    El número de documentos de entrada.



85
86
87
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 85

def entrada
  recuentos['input']
end

#inspectString

Obtenga una representación de string de map/reduce, incluidos los criterios, map, reduce, finalize y la opción de salida.

Ejemplos:

Inspecciona el map_reduce.

map_reduce.inspect

Devuelve:

  • (string)

    La string de inspección.



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_modeMapReduce

Define el map/reduce para usar jsMode.

Ejemplos:

Configura la operación map/reduce en jsMode.

map_reduce.js_mode

Devuelve:



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.

Ejemplos:

Almacena la salida en la memoria.

map_reduce.out(inline: 1)

Almacena la salida en una colección, sustituyendo los documentos existentes.

map_reduce.out(replace: "collection_name")

Almacene la salida en una colección, fusionando los documentos existentes.

map_reduce.out(merge: "collection_name")

Almacene la salida en una colección, reduciendo los documentos existentes.

map_reduce.out(reduce: "collection_name")

Devuelve resultados de map reduce.

map_reduce.out(inline: 1)

Parámetros:

  • Ubicación (encriptada)

    El lugar para almacenar los resultados.

Devuelve:



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

#outputInteger

Obtenga el número de documentos generados por el map/reduce.

Ejemplos:

Obtén el recuento de documentos de salida.

map_reduce.output

Devuelve:

  • (Número entero)

    La cantidad de documentos de salida.



136
137
138
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 136

def salida
  recuentos['output']
end

#rawHash También conocido como: resultados, ejecutar

Obtenga la salida sin procesar de la operación de map-reduce.

Ejemplos:

Obtén el resultado bruto.

map_reduce.raw

Devuelve:

  • (encriptada)

    El resultado sin procesar.



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.opciones.obtener(:leer) } si criterios.opciones[:leer]
  @map_reduce.database.Comando(cmd, (opciones || {}).fusionar(sesión: _sesión)).primero
end

#reducidoInteger

Obtén el número de documentos reducidos por el map-reduce.

Ejemplos:

Obtén el recuento reducido de documentos.

map_reduce.reduced

Devuelve:

  • (Número entero)

    El número de documentos reducidos.



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.

Ejemplos:

Añade un objeto al scope global.

map_reduce.scope(name: value)

Parámetros:

  • Objeto (encriptada)

    Un hash de claves/valores para el ámbito global.

Devuelve:



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

#horaFloat

Obtén el tiempo de ejecución del map-reduce.

Ejemplos:

Obtén el tiempo de ejecución.

map_reduce.time

Devuelve:

  • (Float)

    El tiempo en milisegundos.



192
193
194
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 192

def hora
  Resultados['timeMillis']
end