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 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

Métodos incluidos de Comando

#cliente

Detalles del constructor

#inicializar(colección, criterios, mapa, reducir) ⇒ 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.



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

#comandoHash

Devuelve el selector de la especificación del comando.

Devuelve:

  • (encriptada)

    El selector.



221
222
223
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 221

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 condes.



22
23
24
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 22

def recuentos
  Resultados["cuentas"]
end

#cada unoEnumerator

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.

Ejemplos:

Iterar sobre los resultados.

map_reduce.each do |doc|
  p doc
end

Devuelve:

  • (Enumerator)

    El enumerador.



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

#emitidoEntero

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

Ejemplos:

Obtener el recuento de documentos emitidos.

map_reduce.emitted

Devuelve:

  • (Número entero)

    El número de documentos emitidos.



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.

Ejemplos:

Proporcionar una función de finalización.

map_reduce.finalize(func)

Parámetros:

  • función (string)

    La función_finalize().

Devuelve:



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

#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.



89
90
91
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 89

def entrada
  recuentos["entrada"]
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.



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_modeMapReduce

Establece el mapa/reducción para utilizar jsMode.

Ejemplos:

Configura la operación map/reduce en jsMode.

map_reduce.js_mode

Devuelve:



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.

Ejemplos:

Almacenar la salida en la memoria.

map_reduce.out(inline: 1)

Almacene la salida en una colección, reemplazando 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:



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

#outputInteger

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

Ejemplos:

Obtener el recuento de documentos de salida.

map_reduce.output

Devuelve:

  • (Número entero)

    El número de documentos de salida.



140
141
142
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 140

def salida
  recuentos["salida"]
end

#rawHash También conocido como: resultados, ejecutar

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

Ejemplos:

Obtén el resultado bruto.

map_reduce.raw

Devuelve:

  • (encriptada)

    La salida bruta.



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

#reducidoEntero

Obtenga el número de documentos reducidos por el mapa/reducir.

Ejemplos:

Obtén el recuento reducido de documentos.

map_reduce.reduced

Devuelve:

  • (Número entero)

    El número de documentos reducidos.



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.

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:



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

#horaFloat

Obtener el tiempo de ejecución del mapa/reducción.

Ejemplos:

Obtén el tiempo de ejecución.

map_reduce.time

Devuelve:

  • (Float)

    El tiempo en milisegundos.



196
197
198
# Archivo 'lib/mongoid/contextual/map_reduce.rb', línea 196

def hora
  Resultados["timeMillis"]
end