Clase: Mongo::Collection::View::MapReduce

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Enumerable, inmutable, registrable, reintentable
Definido en:
lib/mongo/colección/vista/map_reduce.rb

Overview

Proporciona comportamiento en torno a una operación de mapa/reducción en la vista de colección.

Desde:

  • 2.0.0

Colapso delresumen constante

EN LÍNEA =

La opción en línea.

Desde:

  • 2.1.0

'inline'.freeze
DESVÍO =
Obsoleto.

Redirigir mensaje.

Desde:

  • 2.1.0

'Redireccionando la operación de MapReduce al servidor principal.'.freeze

Constantes incluidas desde Loggable

Registrable::PREFIX

Colapso delresumen de atributos de instancia

Atributos incluidos de Immutable

#options

Colapso del resumen del método de instancia

Métodos incluidos en Retryable

#trabajador_de_lectura, #servidor_de_selección, #trabajador_de_escritura

Métodos incluidos en Loggable

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

Detalles del constructor

#inicializar(vista, mapa, reducir, opciones = {}) ⇒ MapReduce

Inicializa el mapa/reducción para la vista de colección, funciones y opciones proporcionadas.

Ejemplos:

Crear la nueva vista de mapa/reducción.

Parámetros:

  • vista (Colección:: Ver)

    La vista de la colección.

  • map (Cadena) -

    La función de mapa.

  • reducir (Cadena) -

    La función de reducción.

  • opciones (Hash) (predeterminado: {})

    Las opciones de mapa/reducción.

Desde:

  • 2.0.0



121
122
123
124
125
126
127
128
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 121

def inicializar(vista, map, reducir, opciones = {})
  @view = vista
  @map_function = map.dup.freeze
  @reduce_function = reducir.dup.freeze
  @opciones = BSON::Documento.Nuevo(opciones).freeze

  Cliente.advertencia de registro('La operación map_reduce está obsoleta, utilice la canalización de agregación en su lugar')
end

Detalles de los atributos de instancia

#map_functionCadena (solo lectura)

Devuelve el mapa La función de mapa.

Devuelve:

  • (Cadena) -

    La función de mapa.

Desde:

  • 2.0.0



48
49
50
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 48

def función_mapa
  @map_function
end

#reduce_functionCadena (solo lectura)

Devuelve reduce La función reduce.

Devuelve:

  • (Cadena) -

    reducir La función reducir.

Desde:

  • 2.0.0



51
52
53
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 51

def función de reducción
  @reduce_function
end

#vistaVista (solo lectura)

Vista de retorno La vista de colección.

Devuelve:

  • (Vista) -

    Ver La vista de colección.

Desde:

  • 2.0.0



45
46
47
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 45

def vista
  @view
end

Detalles del método de instancia

#cada {|Cada|... } ⇒ Enumerador

Iterar a través de los documentos devueltos por el mapa/reducción.

Ejemplos:

Iterar a través del resultado del mapa/reducción.

map_reduce.each do |document|
  p document
end

Parámetros de rendimiento:

  • Cada (Hash)

    documento coincidente

Devuelve:

  • (Enumerator)

    El enumerador.

Desde:

  • 2.0.0



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 71

def cada
  @cursor = nulo
  sesión = Cliente.obtener_sesión(@opciones)
  Server = clúster.siguiente_primaria(nulo, sesión)
  context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión, tiempos de espera de operación: vista.tiempos de espera de operación)
  Si Server.¿equilibrador de carga?
    # La conexión se verificará cuando se agote el cursor.
    conexión = Server.Piscina.verificar(context: context)
    resultado = enviar_consulta_inicial_con_conexión(conexión, context.sesión, context: context)
    resultado = enviar_consulta_de_búsqueda_con_conexión(conexión, sesión) a no ser que ¿en línea?
  else
    resultado = enviar_consulta_inicial(Server, context)
    resultado = enviar_consulta_de_búsqueda(Server, sesión) a no ser que ¿en línea?
  end
  @cursor = Cursor.Nuevo(vista, resultado, Server, sesión: sesión)
  Si ¿bloque_dado?
    @cursor.cada hacer |doc|
      rendimiento doc
    end
  else
    @cursor.to_enum
  end
end

#ejecutarMongo::Operación::Resultado

Ejecute el mapa reduce, sin realizar una consulta de búsqueda para recuperar los resultados

if outputted to a collection.

Ejemplos:

Ejecute el mapa reduce y obtenga el resultado sin procesar.

map_reduce.execute

Devuelve:

Desde:

  • 2.5.0



231
232
233
234
235
236
237
238
239
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 231

def ejecutar
  vista.Enviar(:con_sesión, @opciones) hacer |sesión|
    escribir_preocupación = vista.escribir_preocupación_con_la_sesión(sesión)
    context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión)
    nro_write_with_retry(escribir_preocupación, context: context) hacer |conexión, txn_num, context|
      enviar_consulta_inicial_con_conexión(conexión, sesión, context: context)
    end
  end
end

#finalizar(función = nil) ⇒ MapReduce, String

Establecer u obtener la función de finalización para la operación.

Ejemplos:

Establecer la función de finalización.

map_reduce.finalize(function)

Parámetros:

  • función (Cadena) (predeterminado: nulo)

    La función finalize js.

Devuelve:

  • (MapReduce,Cadena)

    La nueva operación MapReduce o el valor de la función.

Desde:

  • 2.0.0



106
107
108
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 106

def finaliza(función = nulo)
  configurar(:finalizar, función)
end

#js_mode(valor = nulo) ⇒ MapReduce,...

Establezca u obtenga el indicador jsMode para la operación.

Ejemplos:

Establecer el modo js para la operación.

map_reduce.js_mode(true)

Parámetros:

  • valor (verdadero,falso) (predeterminado: nulo)

    El valor jsMode.

Devuelve:

  • (MapReduce,verdadero, falso)

    La nueva operación MapReduce o el valor del indicador jsMode.

Desde:

  • 2.0.0



141
142
143
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 141

def js_mode(valor = nulo)
  configurar(:js_mode, valor)
end

#salida(ubicación = nula) ⇒ MapReduce, Hash

Establezca u obtenga la ubicación de salida para la operación.

Ejemplos:

Establezca la salida en línea.

map_reduce.out(inline: 1)

Establezca la colección de salida para fusionar.

map_reduce.out(merge: 'users')

Establece la colección de salida para reemplazo.

map_reduce.out(replace: 'users')

Establezca la colección de salida para reducir.

map_reduce.out(reduce: 'users')

Parámetros:

  • ubicación (Hash) (predeterminado: nulo)

    Los detalles de la ubicación de salida.

Devuelve:

  • (MapReduce,Hash)

    La nueva operación MapReduce o el valor de la ubicación de salida.

Desde:

  • 2.0.0



165
166
167
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 165

def cabo(ubicación = nulo)
  configurar(:afuera, ubicación)
end

#out_collection_nameObject

Devuelve el nombre de la colección donde se escribe el resultado de map-reduce. Si el resultado se devuelve en línea, devuelve nulo.

Desde:

  • 2.0.0



171
172
173
174
175
176
177
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 171

def nombre_de_colección_externa
  Si opciones[:afuera].respond_to?(:llaves)
    opciones[:afuera][ACCIONES FUERA.buscar hacer |acción|
      opciones[:afuera][acción]
    end]
  end || opciones[:afuera]
end

#nombre_de_base_de_datos_salidaObjeto

Devuelve el nombre de la base de datos donde se escribe el resultado de map-reduce. Si el resultado se devuelve en línea, devuelve nulo.

Desde:

  • 2.0.0



181
182
183
184
185
186
187
188
189
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 181

def nombre_de_base_de_datos_de_salida
  Si opciones[:afuera]
    Si opciones[:afuera].respond_to?(:llaves) && (db = opciones[:afuera][:db])
      db
    else
      database.Nombre
    end
  end
end

#alcance(objeto = nulo) ⇒ MapReduce, Hash

Establecer u obtener un alcance sobre la operación.

Ejemplos:

Establezca el valor del alcance.

map_reduce.scope(value: 'test')

Parámetros:

  • Objeto (Hash) (predeterminado: nulo)

    El objeto de alcance.

Devuelve:

  • (MapReduce,Hash)

    La nueva operación MapReduce o el valor del ámbito.

Desde:

  • 2.0.0



202
203
204
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 202

def ámbito de aplicación(Objeto = nulo)
  configurar(:alcance, Objeto)
end

#verbose(valor = nulo) ⇒ MapReduce, Hash

Si se debe incluir la información de tiempo en el resultado.

Ejemplos:

Establezca el valor detallado.

map_reduce.verbose(false)

Parámetros:

  • valor (verdadero,falso) (predeterminado: nulo)

    Si se debe incluir la información de tiempo en el resultado.

Devuelve:

  • (MapReduce,Hash)

    La nueva operación MapReduce o el valor de la opción verbose.

Desde:

  • 2.0.5



218
219
220
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 218

def verbose(valor = nulo)
  configurar(:verbose, valor)
end