Clase: Mongo::Collection::View::MapReduce
- Hereda:
-
Objeto
- Objeto
- Mongo::Colección::Vista::MapReduce
- Ampliado por:
- Reenviable
- Incluye:
- Enumerables, Inmutables, Registrables, Reintestables
- Definido en:
- lib/mongo/collection/view/map_reduce.rb
Overview
Proporciona un comportamiento en torno a una operación Map/Reduce en la vista de la colección.
Colapso delresumen constante
- EN LÍNEA =
La opción en línea.
'inline'.freeze
- REDIRECCIONAMIENTO =
Obsoleto.
Redirigir mensaje.
'Redirigiendo la operación de MapReduce al servidor principal.'.freeze
Constantes incluidas desde Loggable
Resumen de atributos de la instancia colapsar
-
#map_function ⇒ String
Solo lectura
Mapa La función de mapeo.
-
#función_reducir ⇒ Cadena
Solo lectura
Reduce: La función reduce.
-
#view ⇒ View
Solo lectura
Vista La vista de colección.
Atributos incluidos de Inmutable
Resumen del método de instancia colapsar
-
#each {|Each| ... } ⇒ Enumerator
Iterar a través de los documentos devueltos por el mapa/reducción.
-
#execute ⇒ Mongo::operación::Result
Ejecuta el map reduce, sin realizar una consulta fetch para recuperar los resultados si se envían a una colección.
-
#finalize(function = nil) ⇒ MapReduce, String
Establece u obtiene la función de finalización para la operación.
-
#initialize(view, map, reduce, options = {}) ⇒ MapReduce
constructor
Inicializa el map/reduce para la vista de colección, funciones y opciones proporcionadas.
-
#js_mode(valor = nulo) ⇒ MapReduce,...
Establezca u obtenga la bandera jsMode para la operación.
-
#out(ubicación = nil) ⇒ MapReduce, Hash
Establece u obtén 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.
-
#out_database_name ⇒ objeto
Devuelve el nombre de la base de datos donde se escribe el resultado de map-reduce.
-
#scope(objeto = nil) ⇒ MapReduce, Hash
Establece u obtiene un alcance en la operación.
-
#verbose(valor = nil) ⇒ MapReduce, Hash
Si se debe incluir la información de la sincronización en el resultado.
Métodos incluidos en Retryable
#read_worker, #select_server, #write_worker
Métodos incluidos desde Registrable
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
Detalles del constructor
#initialize(vista, mapa, reducir, opciones = {}) ⇒ MapReduce
Inicializa el map/reduce 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, disminuir, = {}) @view = vista @map_function = map.dup.freeze @reduce_function = disminuir.dup.freeze @options = BSON::Documento.Nuevo().freeze Cliente.advertencia de registro('La operación map_reduce está obsoleta, usa la pipeline de agregación en su lugar') end |
Detalles de los atributos de instancia
#map_function ⇒ Cadena (solo lectura)
Retorna el mapa La función map.
48 49 50 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 48 def función_mapa @map_function end |
#reduce_function ⇒ String (solo lectura)
Devuelve reduce La función reduce.
51 52 53 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 51 def reduce_function @reduce_function end |
#vista ⇒ Vista (solo lectura)
Devuelve vista La vista de la 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
#each {|Each| ... } ⇒ Enumerator
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.get_session(@options) Server = clúster.siguiente_principal(nulo, sesión) context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión, operation_timeouts: vista.tiempos de espera de operación) si Server.load_balancer? # La conexión se verificará cuando se termine con el cursor. Conexión = Server.group.check_out(context: context) Resultado = send_initial_query_with_connection(Conexión, context.sesión, context: context) Resultado = send_fetch_query_with_connection(Conexión, sesión) a menos que ¿en línea? else Resultado = enviar_consulta_inicial(Server, context) Resultado = enviar_query_obtener(Server, sesión) a menos que ¿en línea? end @cursor = Cursor.Nuevo(vista, Resultado, Server, sesión: sesión) si ¿block_given? @cursor.cada hacer |doc| rendimiento doc end else @cursor.to_enum end end |
#ejecutar ⇒ Mongo::Operación::Resultado
Ejecute el map reduce, sin realizar una query fetch 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, @options) 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| send_initial_query_with_connection(Conexión, sesión, context: context) end end end |
#finalizar(función = nil) ⇒ MapReduce, String
Establece u obtiene 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(:finalize, función) end |
#js_mode(value = nil) ⇒ MapReduce, ...
Establezca u obtenga la bandera 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
Establece u obtén 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 inline, retorna nil.
171 172 173 174 175 176 177 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 171 def out_collection_name si [:afuera].respond_to?(:llaves) [:afuera][ACCIONES_EXTERNAS.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 escriben los resultados de map-reduce. Si el resultado se devuelve inline, retorna nil.
181 182 183 184 185 186 187 188 189 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 181 def out_database_name si [:afuera] si [:afuera].respond_to?(:llaves) && (db = [:afuera][:db]) db else database.Nombre end end end |
#ámbito(objeto = nil) ⇒ MapReduce, Hash
Establece u obtiene un alcance en la operación.
202 203 204 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 202 def Alcance(Objeto = nulo) configurar(:alcance, Objeto) end |
#verbose(valor = nil) ⇒ MapReduce, Hash
Si se debe incluir la información de la sincronización en el resultado.
218 219 220 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 218 def verbose(Valor = nulo) configurar(:verbose, Valor) end |