Classe: Mongoid::Contextual::MapReduce

Herda:
Objeto
  • Objeto
mostrar tudo
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

Métodos incluídos do comando

#client

Detalhes do construtor

#inicializar(coleção, critérios, mapa, redução) ➤ MapReduce

Inicialize a nova diretiva de mapeamento/redução.

Exemplos:

Inicialize o novo mapa/redução.

MapReduce.new(criteria, map, reduce)

Parâmetros:

  • critério (Critérios)

    Os critérios Mongoid.

  • map (string)

    A função JavaScript do mapa.

  • reduzir (string)

    A função reduzir JavaScript .



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

#commandHash

Retorna o seletor da especificação de comando.

Retorna:

  • (Hash)

    O seletor.



217
218
219
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 217

def comando
  @map_reduce.enviar(:map_reduce_spec)[:selector]
end

#contagensHash

Obtenha todas as contagens retornadas pelo mapa/redução.

Exemplos:

Obtenha as contagens.

map_reduce.counts

Retorna:

  • (Hash)

    As contagens.



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.

Exemplos:

Iterar sobre os resultados.

map_reduce.each do |doc|
  p doc
end

Retorna:

  • (Enumerador)

    O enumerador.



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

#emitidointeiro

Obtenha o número de documentos emitidos pelo mapa/redução.

Exemplos:

Obtenha a contagem de documento emitidos.

map_reduce.emitted

Retorna:

  • (Inteiro)

    O número de documentos emitidos.



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.

Exemplos:

Forneça uma função de finalização.

map_reduce.finalize(func)

Parâmetros:

  • function (string)

    A função finalizar.

Retorna:



60
61
62
63
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 60

def finalizar(function)
  @map_reduce = @map_reduce.finalizar(function)
  auto
end

#inputInteger

Obtenha o número de documentos que foram inseridos no mapa/redução.

Exemplos:

Obtenha a contagem de documentos de entrada.

map_reduce.input

Retorna:

  • (Inteiro)

    O número de documentos de entrada.



85
86
87
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 85

def Entrada
  conta['input']
end

#inspecionarstring

Obtenha uma representação de string bonita do mapa/redução, incluindo os critérios, mapa, redução, finalização e opção out.

Exemplos:

Inspecione o map_reduce.

map_reduce.inspect

Retorna:

  • (string)

    A string de inspeção.



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_modeMapReduce

Define o mapa/redução para usar o jsMode.

Exemplos:

Defina o mapa/redução para jsMode.

map_reduce.js_mode

Retorna:



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.

Exemplos:

Armazene a saída na memória.

map_reduce.out(inline: 1)

Armazene a saída em uma collection, substituindo documentos existentes.

map_reduce.out(replace: "collection_name")

Armazene a saída em uma coleção, mesclando documentos existentes.

map_reduce.out(merge: "collection_name")

Armazene a saída em uma collection, reduzindo documentos existentes.

map_reduce.out(reduce: "collection_name")

Retornar resultados da redução de mapa.

map_reduce.out(inline: 1)

Parâmetros:

  • localização (Hash)

    O local para armazenar os resultados.

Retorna:

  • (MapReduce)

    O objeto de mapa/redução.



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

#outputInteger

Obtenha o número de documentos gerados pelo mapa/redução.

Exemplos:

Obtenha a contagem de documento de saída.

map_reduce.output

Retorna:

  • (Inteiro)

    O número de documentos de saída.



136
137
138
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 136

def saída
  conta['output']
end

#brutoHash Também conhecido como: resultados, executar

Obtenha a saída bruta da operação de mapa/redução.

Exemplos:

Obtenha a saída bruta.

map_reduce.raw

Retorna:

  • (Hash)

    A saída bruta.



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.opções.buscar(:read) } se critério.opções[:read]
  @map_reduce.database.comando(cmd, (opciona || {}).mesclar(sessão: _session)).primeiro
end

#reduzidointeiro

Obtenha o número de documentos reduzidos pelo mapa/redução.

Exemplos:

Obtenha a contagem reduzida de documentos.

map_reduce.reduced

Retorna:

  • (Inteiro)

    O número de documentos reduzidos.



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.

Exemplos:

Adicione um objeto ao escopo global.

map_reduce.scope(name: value)

Parâmetros:

  • objeto (Hash)

    Um hash de chave/valores para o escopo global.

Retorna:



181
182
183
184
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 181

def escopo(objeto)
  @map_reduce = @map_reduce.escopo(objeto)
  auto
end

#timeFlutuante

Obtenha o tempo de execução do mapa/redução.

Exemplos:

Obtenha o tempo de execução.

map_reduce.time

Retorna:

  • (Flutuante)

    O tempo em milissegundos.



192
193
194
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 192

def time
  Resultados['timeMillis']
end