Classe: Mongoid::Contextual::MapReduce
- Herda:
-
Objeto
- Objeto
- Mongoid::Contextual::MapReduce
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável, Comando
- Definido em:
- lib/mongoid/contextual/map_reduce.rb
Visão geral
Representa uma instrução de comando de banco de dados de dados mapReduce.
Resumo do atributo de instância
Atributos incluídos do Comando
#collection, #collection A collection na qual fazer query., #criteria, #criteria Os critérios para o contexto.
Recolhimento do Resumo do método de instância
-
#command ➤ Hash
Retorna o seletor da especificação de comando.
-
#contagens ➤ Hash
Obtenha todas as contagens retornadas pelo mapa/redução.
-
#cada ➤ Enumerador
Itera sobre cada um dos documentos no mapa/redução, excluindo as informações adicionais que foram passadas de volta do banco de dados.
-
#emitido ➤ inteiro
Obtenha o número de documentos emitidos pelo mapa/redução.
-
#finalize(function) ➤ MapReduce
Forneça uma função JavaScript de finalização para o mapa/redução.
-
#inicializar(coleção, critérios, mapa, redução) ➤ MapReduce
construtor
Inicialize a nova diretiva de mapeamento/redução.
-
#entrada ➤ Inteiro
Obtenha o número de documentos que foram inseridos no mapa/redução.
-
#inspecionar ➤ string
Obtenha uma representação de string bonita do mapa/redução, incluindo os critérios, mapa, redução, finalização e opção out.
-
#js_mode ➤ MapReduce
Define o mapa/redução para usar o jsMode.
-
#out(localização) ➤ MapReduce
Especifica onde a saída de mapa/redução deve ser armazenada.
-
#output ⇒ Integer
Obtenha o número de documentos gerados pelo mapa/redução.
-
#bruto ➤ Hash (também: #results, #execute)
Obtenha a saída bruta da operação de mapa/redução.
-
#reduzido ➤ inteiro
Obtenha o número de documentos reduzidos pelo mapa/redução.
-
#scope(objeto) ➤ MapReduce
Adiciona um objeto JavaScript ao escopo global do mapa/reduzir.
-
#time ➤ Flutuante
Obtenha o tempo de execução do mapa/redução.
Métodos incluídos do comando
Detalhes do construtor
#inicializar(coleção, critérios, mapa, redução) ➤ MapReduce
Inicialize a nova diretiva de mapeamento/redução.
77 78 79 80 81 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 77 def inicializar(collection, critério, map, reduzir) @collection = collection @criteria = critério @map_reduce = @criteria.vista.map_reduce(map, reduzir) end |
Detalhes do método de instância
#command ➤ Hash
Retorna o seletor da especificação de comando.
221 222 223 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 221 def comando @map_reduce.enviar(:map_reduce_spec)[:selector] end |
#contagens ➤ Hash
Obtenha todas as contagens retornadas pelo mapa/redução.
22 23 24 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 22 def conta Resultados["conta"] end |
#cada ➤ Enumerador
Itera sobre cada um dos documentos no mapa/redução, excluindo as informações adicionais que foram passadas de volta do banco de dados.
35 36 37 38 39 40 41 42 43 44 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 35 def cada validate_out! se block_given? @map_reduce.cada fazer |doc| rendimento doc end mais @map_reduce.to_enum end end |
#emitido ➤ inteiro
Obtenha o número de documentos emitidos pelo mapa/redução.
52 53 54 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 52 def emitido conta["emitir"] end |
#finalize(function) ➤ MapReduce
Forneça uma função JavaScript de finalização para o mapa/redução.
64 65 66 67 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 64 def finalizar(function) @map_reduce = @map_reduce.finalizar(function) auto end |
#input ⇒ Integer
Obtenha o número de documentos que foram inseridos no mapa/redução.
89 90 91 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 89 def Entrada conta["entrada"] end |
#inspecionar ➤ string
Obtenha uma representação de string bonita do mapa/redução, incluindo os critérios, mapa, redução, finalização e opção out.
207 208 209 210 211 212 213 214 215 216 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 207 def inspecionar %Q{#<Mongoid::Contextual::MapReduce selector: #{criteria.seletor.inspecionara classe}: #{criteria.klass} map: #{comando[:map]} reduzir: #{comando[:reduce]} finalize: #{comando[:finalize]} out: #{comando[:out].inspecionar}> } end |
#js_mode ⇒ MapReduce
Define o mapa/redução para usar o jsMode.
99 100 101 102 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 99 def js_mode @map_reduce = @map_reduce.js_mode(true) auto end |
#out(localização) ➤ MapReduce
Especifica onde a saída de mapa/redução deve ser armazenada. Consulte a documentação do MongoDB para obter as opções suportadas de redução de mapa.
125 126 127 128 129 130 131 132 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 125 def out(localização) Normalizado = localização.dup Normalizado.transform_values! fazer |valor| valor.is_a?(::Símbolo) ? valor.to_s : valor end @map_reduce = @map_reduce.out(Normalizado) auto end |
#output ⇒ Integer
Obtenha o número de documentos gerados pelo mapa/redução.
140 141 142 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 140 def saída conta["saída"] end |
#bruto ➤ Hash Também conhecido como: resultados, executar
Obtenha a saída bruta da operação de mapa/redução.
150 151 152 153 154 155 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 150 def bruto validate_out! cmd = comando opciona = { ler: critério..buscar(:read) } se critério.[:read] @map_reduce.database.comando(cmd, (opciona || {}).mesclar(sessão: _session)).primeiro end |
#reduzido ➤ inteiro
Obtenha o número de documentos reduzidos pelo mapa/redução.
173 174 175 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 173 def reduzido conta["reduzir"] end |
#scope(objeto) ➤ MapReduce
Adiciona um objeto JavaScript ao escopo global do mapa/reduzir.
185 186 187 188 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 185 def escopo(objeto) @map_reduce = @map_reduce.escopo(objeto) auto end |
#time ➤ Flutuante
Obtenha o tempo de execução do mapa/redução.
196 197 198 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 196 def time Resultados["timeMillis"] end |