Clase: Mongo::Collection::View::MapReduce
- Hereda:
-
Objeto
- Objeto
- Mongo::Collection::View::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.
Resumen de constantes colapsar
- EN LÍNEA =
La opción en línea.
'en línea'- REDIRECCIONAMIENTO =
Obsoleto.
Redirigir mensaje.
'Redirigiendo la operación MapReduce al servidor principal'
Constantes incluidas desde Loggable
Resumen de atributos de la instancia colapsar
-
#map_function ⇒ String
Solo lectura
Mapa La función de mapeo.
-
#reduce_function ⇒ string
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 map/reduce.
-
#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(value = nil) ⇒ 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 de Retryable
#read_worker, #select_server, #with_overload_retry, #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.
118 119 120 121 122 123 124 125 126 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 118 def inicializar(vista, map, disminuir, = {}) @view = vista @map_function = map.dup.freeze @reduce_function = disminuir.dup.freeze @options = BSON::Documento.Nuevo().freeze Obsolescencias.advertencia(reduce del mapa, 'La operación map_reduce está obsoleta, usa el pipeline de agregación en su lugar.') end |
Detalles de atributo de instancias
#map_function ⇒ String (solo lectura)
Retorna el mapa La función map.
46 47 48 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 46 def map_function @map_function end |
#reduce_function ⇒ String (solo lectura)
Retornos reduce La función reduce.
49 50 51 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 49 def reduce_function @reduce_function end |
#vista ⇒ Ver (solo lectura)
Devuelve vista La vista de la colección.
43 44 45 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 43 def vista @view end |
Detalles del método de instancia
#each {|Each| ... } ⇒ Enumerator
Iterar a través de los documentos devueltos por el map/reduce.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 69 def cada(&bloque) @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.operation_timeouts) 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 = send_initial_query(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(&bloque) else @cursor.to_enum end end |
#execute ⇒ Mongo::Operation::Result
Ejecuta el map reduce, sin realizar una consulta fetch para recuperar los resultados si se envían a una colección.
229 230 231 232 233 234 235 236 237 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 229 def ejecutar vista.enviar(con_sesión, @options) hacer |sesión| write_concern = vista.write_concern_with_session(sesión) context = Operación::Context.Nuevo(cliente: Cliente, sesión: sesión) nro_write_with_retry(write_concern, 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.
103 104 105 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 103 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.
139 140 141 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 139 def js_mode(Valor = nulo) Configurar(:js_mode, Valor) end |
#salida(ubicación = nil) ⇒ MapReduce, Hash
Establece u obtén la ubicación de salida para la operación.
163 164 165 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 163 def salida(Ubicación = nulo) Configurar(Fin, 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.
169 170 171 172 173 174 175 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 169 def out_collection_name si [Fin].respond_to?(:llaves) [Fin][ACCIONES_EXTERNAS.buscar hacer |acción| [Fin][acción] end] end || [Fin] end |
#out_database_name ⇒ 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.
179 180 181 182 183 184 185 186 187 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 179 def out_database_name return a menos que [Fin] si [Fin].respond_to?(:llaves) && (db = [Fin][:db]) db else database.Nombre end end |
#ámbito(objeto = nil) ⇒ MapReduce, Hash
Establece u obtiene un alcance en la operación.
200 201 202 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 200 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.
216 217 218 |
# Archivo 'lib/mongo/collection/view/map_reduce.rb', línea 216 def verbose(Valor = nulo) Configurar(:verbose, Valor) end |