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 .



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

#commandHash

Retorna o seletor da especificação de comando.

Retorna:

  • (Hash)

    O seletor.



221
222
223
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 221

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.



22
23
24
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 22

def conta
  Resultados["conta"]
end

#cadaEnumerador

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.



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

#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.



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.

Exemplos:

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

map_reduce.finalize(func)

Parâmetros:

  • function (string)

    A função finalizar.

Retorna:



64
65
66
67
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 64

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.



89
90
91
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 89

def Entrada
  conta["entrada"]
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.



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_modeMapReduce

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

Exemplos:

Defina o mapa/redução para jsMode.

map_reduce.js_mode

Retorna:



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.

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.



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

#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.



140
141
142
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 140

def saída
  conta["saída"]
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.



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.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.



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.

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:



185
186
187
188
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 185

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.



196
197
198
# Arquivo 'lib/mongoid/contextual/map_reduce.rb', linha 196

def time
  Resultados["timeMillis"]
end