Classe: Mongo::Collection::View::MapReduce
- Herda:
-
Objeto
- Objeto
- Mongo::Collection::View::MapReduce
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável, imutável, registrável, repetível
- Definido em:
- lib/mongo/collection/view/map_reduce.rb
Visão geral
Fornece comportamento em torno de uma operação de mapa/redução na visualização da coleção.
Colapsode resumo constante
- INLINE =
A opção in-line.
'in-line'- REVIAR =
Obsoleto.
Redirecionar mensagem.
'Redirecionamento da operação MapReduce para o servidor primário'
Constantes incluídas do Loggable
Recolhimento do Resumo do atributo de instância
-
#map_function ➤ string
Somente leitura
Mapa A função de mapa.
-
#reduzir_function ➤ string
Somente leitura
Reduzir A função reduzir.
-
#view ⇒ View
Somente leitura
Visualizar A visualização da collection.
Atributos incluídos no Imutable
Recolhimento do Resumo do método de instância
-
#cada {|Cada| ... } ➤ Enumerador
Iterar através de documentos retornados pelo mapa/redução.
-
#execute ➤ Mongo::Operation::Result
Execute a redução do mapa, sem fazer uma query de busca para recuperar os resultados se forem enviados para uma coleção.
-
#finalize(function = nil) ➤ MapReduce, string
Defina ou obtenha a função finalizar para a operação.
-
#initialize(visualizar, mapear, reduzir, opções = {}) ➤ MapReduce
construtor
Inicialize o mapa/redução para a visualização, as funções e as opções de coleta fornecidas.
-
#js_mode(value = nil) ➤ MapReduce, ...
Defina ou obtenha o sinalizador jsMode para a operação.
-
#out(location = nil) ➤ MapReduce, Hash
Defina ou obtenha o local de saída para a operação.
-
#out_collection_name ⇒ Object
Retorna o nome da coleção em que o resultado da redução de mapa é gravado.
-
#out_database_name ➤ Objeto
Retorna o nome do banco de dados em que o resultado da redução de mapa é gravado.
-
#scope(object = nil) ➤ MapReduce, Hash
Defina ou obtenha um escopo para a operação.
-
#verbose(value = nil) ➤ MapReduce, Hash
Se incluir as informações de tempo no resultado.
Métodos incluídos no Retryable
#read_worker, #select_server, #with_overload_retry, #write_worker
Métodos incluídos no Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger
Detalhes do construtor
#initialize(visualizar, mapear, reduzir, opções = {}) ➤ MapReduce
Inicialize o mapa/redução para a visualização, as funções e as opções de coleta fornecidas.
118 119 120 121 122 123 124 125 126 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 118 def inicializar(vista, map, reduzir, = {}) @view = vista @map_function = map.dup.congelar @reduce_function = reduzir.dup.congelar @opções = BSON::Documento.Novo().congelar Itens obsoletos.AVISAR(:map_reduce, 'A operaçãomap_reduce está obsoleta, use o pipeline de agregação . ') end |
Detalhes do atributo da instância
#map_function ➤ string (somente leitura)
Retorna map A função de mapa.
46 47 48 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 46 def map_function @map_function end |
#reduzir_function ➤ string (somente leitura)
Retorna a redução A função reduzir.
49 50 51 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 49 def reduzir_function @reduce_function end |
#view ➤ Visualizar (somente leitura)
Retorna a visualização A visualização da collection.
43 44 45 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 43 def vista @view end |
Detalhes do método de instância
#cada {|Cada| ... } ➤ Enumerador
Iterar através de documentos retornados pelo mapa/redução.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 69 def cada(&noum: bloco ; verb: bloquear) @cursor = nada session = Cliente.get_session(@opções) Servidor = cluster.próximo_primary(nada, session) Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session, operation_timeouts: vista.operation_timeouts) se Servidor.load_balancer? # A conexão será verificada quando o cursor for drenado. Conexão = Servidor.pool.check_out(contexto: Contexto) Resultado = send_initial_query_with_connection(Conexão, Contexto.session, contexto: Contexto) Resultado = send_fetch_query_with_connection(Conexão, session) a menos que in-line? mais Resultado = send_initial_query(Servidor, Contexto) Resultado = send_fetch_query(Servidor, session) a menos que in-line? end @cursor = Cursor.Novo(vista, Resultado, Servidor, sessão: session) se block_given? @cursor.cada(&noum: bloco ; verb: bloquear) mais @cursor.to_enum end end |
#execute ➤ Mongo::Operation::Result
Execute a redução do mapa, sem fazer uma query de busca para recuperar os resultados se forem enviados para uma coleção.
229 230 231 232 233 234 235 236 237 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 229 def executar, executar vista.enviar(:with_session, @opções) fazer |session| write_concern = vista.write_concern_with_session(session) Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session) nro_write_with_retry(write_concern, contexto: Contexto) fazer |Conexão, _txn_num, Contexto| send_initial_query_with_connection(Conexão, session, contexto: Contexto) end end end |
#finalize(function = nil) ➤ MapReduce, string
Defina ou obtenha a função finalizar para a operação.
103 104 105 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 103 def finalizar(function = nada) configure(:finalize, function) end |
#js_mode(value = nil) ➤ MapReduce, ...
Defina ou obtenha o sinalizador jsMode para a operação.
139 140 141 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 139 def js_mode(valor = nada) configure(:js_mode, valor) end |
#out(location = nil) ➤ MapReduce, Hash
Defina ou obtenha o local de saída para a operação.
163 164 165 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 163 def out(localização = nada) configure(:out, localização) end |
#out_collection_name ⇒ Object
Retorna o nome da coleção em que o resultado da redução de mapa é gravado. Se o resultado for retornado in-line, retornará nulo.
169 170 171 172 173 174 175 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 169 def out_collection_name se [:out].respond_to?(:keys) [:out][OUT_ACTIONS.find fazer |ação| [:out][ação] end] end || [:out] end |
#out_database_name ➤ Objeto
Retorna o nome do banco de dados em que o resultado da redução de mapa é gravado. Se o resultado for retornado in-line, retornará nulo.
179 180 181 182 183 184 185 186 187 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 179 def out_database_name Método a menos que [:out] se [:out].respond_to?(:keys) && (db = [:out][:db]) db mais database.name end end |
#scope(object = nil) ➤ MapReduce, Hash
Defina ou obtenha um escopo para a operação.
200 201 202 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 200 def escopo(objeto = nada) configure(:scope, objeto) end |
#verbose(value = nil) ➤ MapReduce, Hash
Se incluir as informações de tempo no resultado.
216 217 218 |
# File 'lib/mongo/collection/view/map_reduce.rb', linha 216 def verbose(valor = nada) configure(:verbose, valor) end |