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(&bloco) ➤ 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.
73 74 75 76 77 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 73 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.
217 218 219 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 217 def comando @map_reduce.enviar(:map_reduce_spec)[:selector] end |
#contagens ➤ Hash
Obtenha todas as contagens retornadas pelo mapa/redução.
20 21 22 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 20 def conta Resultados['conta'] end |
#cada(&bloco) ➤ 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.
33 34 35 36 37 38 39 40 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 33 def cada(&noum: bloco ; verb: bloquear) validate_out! se block_given? @map_reduce.cada(&noum: bloco ; verb: bloquear) mais @map_reduce.to_enum end end |
#emitido ➤ inteiro
Obtenha o número de documentos emitidos pelo mapa/redução.
48 49 50 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 48 def emitido conta['emit'] end |
#finalize(function) ➤ MapReduce
Forneça uma função JavaScript de finalização para o mapa/redução.
60 61 62 63 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 60 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.
85 86 87 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 85 def Entrada conta['input'] 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.
203 204 205 206 207 208 209 210 211 212 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 203 def inspecionar %(#<Mongoid::Contextual::MapReduce selector: #{criteria.selector.inspect} classe: #{criteria.klass} map: #{command[:map]} reduzir: #{comando[:reduzir]} finalize: #{comando[:finalize]} out: #{comando[:out].inspecionar}> ) end |
#js_mode ⇒ MapReduce
Define o mapa/redução para usar o jsMode.
95 96 97 98 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 95 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.
121 122 123 124 125 126 127 128 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 121 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.
136 137 138 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 136 def saída conta['output'] end |
#bruto ➤ Hash Também conhecido como: resultados, executar
Obtenha a saída bruta da operação de mapa/redução.
146 147 148 149 150 151 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 146 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.
169 170 171 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 169 def reduzido conta['reduzir'] end |
#scope(objeto) ➤ MapReduce
Adiciona um objeto JavaScript ao escopo global do mapa/reduzir.
181 182 183 184 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 181 def escopo(objeto) @map_reduce = @map_reduce.escopo(objeto) auto end |
#time ➤ Flutuante
Obtenha o tempo de execução do mapa/redução.
192 193 194 |
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 192 def time Resultados['timeMillis'] end |