Clase: Mongo::Collection::View::MapReduce
- Hereda:
-
Objeto
- Objeto
- Mongo::Colección::Vista::MapReduce
- 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.
Colapso delresumen constante
- EN LÍNEA =
La opción en línea.
'inline'.freeze
- DESVÍO =
Obsoleto.
Redirigir mensaje.
'Redireccionando la operación de MapReduce al servidor principal.'.freeze
Constantes incluidas desde Loggable
Colapso delresumen de atributos de instancia
-
#map_function ⇒ Cadena
solo lectura
Mapa La función de mapa.
-
#función_reducir ⇒ Cadena
solo lectura
Reducir La función reducir.
-
#view ⇒ View
solo lectura
Ver La vista de colección.
Atributos incluidos de Immutable
Colapso del resumen del método de instancia
-
#cada {|Cada|... } ⇒ Enumerador
Iterar a través de los documentos devueltos por el mapa/reducción.
-
#ejecutar ⇒ Mongo::Operación::Resultado
Ejecuta el map reduce, sin realizar una consulta fetch para recuperar los resultados si se envían a una colección.
-
#finalizar(función = nula) ⇒ MapReduce, String
Establecer u obtener la función de finalización para la operación.
-
#inicializar(vista, mapa, reducir, opciones = {}) ⇒ MapReduce
constructor
Inicializa el mapa/reducción para la vista de colección, funciones y opciones proporcionadas.
-
#js_mode(valor = nulo) ⇒ MapReduce,...
Establezca u obtenga el indicador jsMode para la operación.
-
#salida(ubicación = nula) ⇒ MapReduce, Hash
Establezca u obtenga la ubicación de salida para la operación.
-
#out_collection_name ⇒ Object
Devuelve el nombre de la colección donde se escribe el resultado de map-reduce.
-
#nombre_de_base_de_datos_salida ⇒ Objeto
Devuelve el nombre de la base de datos donde se escribe el resultado de map-reduce.
-
#alcance(objeto = nulo) ⇒ MapReduce, Hash
Establecer u obtener un alcance sobre la operación.
-
#verbose(valor = nulo) ⇒ MapReduce, Hash
Si se debe incluir la información de tiempo en el resultado.
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.
121 122 123 124 125 126 127 128 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 121 def inicializar(vista, map, reducir, = {}) @view = vista @map_function = map.dup.freeze @reduce_function = reducir.dup.freeze @opciones = BSON::Documento.Nuevo().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_function ⇒ Cadena (solo lectura)
Devuelve el mapa La función de mapa.
48 49 50 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 48 def función_mapa @map_function end |
#reduce_function ⇒ Cadena (solo lectura)
Devuelve reduce La función reduce.
51 52 53 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 51 def función de reducción @reduce_function end |
#vista ⇒ Vista (solo lectura)
Vista de retorno La vista de colección.
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.
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 |
#ejecutar ⇒ Mongo::Operación::Resultado
Ejecute el mapa reduce, sin realizar una consulta de búsqueda para recuperar los resultados
if outputted to a collection.
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.
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.
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.
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_name ⇒ Object
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.
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 [:afuera].respond_to?(:llaves) [:afuera][ACCIONES FUERA.buscar hacer |acción| [:afuera][acción] end] end || [:afuera] end |
#nombre_de_base_de_datos_salida ⇒ Objeto
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.
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 [:afuera] Si [:afuera].respond_to?(:llaves) && (db = [:afuera][:db]) db else database.Nombre end end end |
#alcance(objeto = nulo) ⇒ MapReduce, Hash
Establecer u obtener un alcance sobre la operación.
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 |