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

Métodos incluidos en Command

#cliente

Detalles del constructor

#inicializar(colección, criterios, mapa, reducir) ⇒ MapReduce

Inicializar la nueva directiva map/reduce.

Ejemplos:

Inicializar el nuevo mapa/reducción.

MapReduce.new(criteria, map, reduce)

Parámetros:

  • criterios (Criterios) -

    Los criterios mongoides.

  • map (Cadena) -

    La función map js.

  • reducir (Cadena) -

    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, reducir)
  @recopilación = Colección
  @criteria = criterios
  @map_reduce = @criteria.vista.mapa_reducir(map, reducir)
end

Detalles del método de instancia

#comandoHash

Devuelve el selector de la especificación del comando.

Devuelve:

  • (Hash)

    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

#cuentasHash

Obtenga todos los recuentos devueltos por el mapa/reducción.

Ejemplos:

Obtenga los recuentos.

map_reduce.counts

Devuelve:

  • (Hash)

    Los condes.



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

def recuentos
  resultados["cuenta"]
end

#cadaEnumerador

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 ¿bloque_dado?
    @map_reduce.cada hacer |doc|
      rendimiento doc
    end
  else
    @map_reduce.to_enum
  end
end

#emitidoEntero

Obtener el número de documentos emitidos por el mapa/reduce.

Ejemplos:

Obtener el recuento de documentos emitidos.

map_reduce.emitted

Devuelve:

  • (Entero)

    El número de documentos emitidos.



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.

Ejemplos:

Proporcionar una función de finalización.

map_reduce.finalize(func)

Parámetros:

  • función (Cadena) -

    La función de finalización.

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)
  yo
end

#inputInteger

Obtenga la cantidad de documentos que se ingresaron en el mapa/reducción.

Ejemplos:

Obtenga el recuento de documentos de entrada.

map_reduce.input

Devuelve:

  • (Entero)

    El número de documentos de entrada.



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

def entrada
  recuentos["aporte"]
end

#inspeccionarCadena

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

Ejemplos:

Inspeccione el mapa_reduce.

map_reduce.inspect

Devuelve:

  • (Cadena) -

    La cadena 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.klass} mapa:      #{comando[:map]} reducir:   #{comando[:reduce]} 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)
  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.

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

Almacenar 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 (Hash)

    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.a_s : valor
  end
  @map_reduce = @map_reduce.cabo(normalizado)
  yo
end

#outputInteger

Obtenga la cantidad de documentos generados por el mapa/reducción.

Ejemplos:

Obtener el recuento de documentos de salida.

map_reduce.output

Devuelve:

  • (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:

Obtenga la salida sin procesar.

map_reduce.raw

Devuelve:

  • (Hash)

    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.Fetch(:leer) } Si criterios.opciones[:leer]
  @map_reduce.database.Comando(cmd, (opta || {}).unir(sesión: _sesión)).primera
end

#reducidoEntero

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

Ejemplos:

Obtenga el recuento reducido de documentos.

map_reduce.reduced

Devuelve:

  • (Entero)

    El número de documentos reducidos.



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.

Ejemplos:

Añade un objeto al ámbito global.

map_reduce.scope(name: value)

Parámetros:

  • Objeto (Hash)

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

Devuelve:



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

#tiempoFlotante

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

Ejemplos:

Obtenga el tiempo de ejecución.

map_reduce.time

Devuelve:

  • (Flotar) -

    El tiempo en milisegundos.



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

def hora
  resultados["tiempoMillis"]
end