Classe: Mongo::Collection::View::aggregation
- Herda:
-
Objeto
- Objeto
- Mongo::Collection::View::aggregation
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável, Explicável, Imutável, Iterável, Registável, Repetível
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb
Visão geral
Fornece comportamento em torno de um pipeline de agregação em uma visualização de coleção.
Subclasses conhecidas diretas
Colapsode resumo constante
- REVIAR =
Obsoleto.
A mensagem de redirecionamento.
'Redirecionando a operação de agregação para o servidor principal.'.congelar
Constantes incluídas do Loggable
Constantes incluídas de Explainable
Explicável::ALL_PLANS_EXECUTION, Explicável:: EXECUTION_STATS , Explicável::QUERY_PLANNER
Recolhimento do Resumo do atributo de instância
-
#pipeline ➤ Array<Hash>
Somente leitura
Pipeline O aggregation pipeline.
-
#view ⇒ View
Somente leitura
Visualizar A visualização da collection.
Atributos incluídos no Iterable
Atributos incluídos no Imutable
Recolhimento do Resumo do método de instância
-
#allow_disk_use(value = nil) ➤ true, ...
Defina como verdadeiro se o uso do disco for permitido durante a agregação.
-
#explain ➤ Hash
Obtenha o plano de explicação para a aggregation.
-
#inicializar(visualização, pipeline, opções = {}) ➤ Agregação
construtor
Inicialize a aggregation para a visualização, pipeline e opções de collection fornecidas.
-
#escrever? ➤ Booleano
privado
Se esta agregação escreverá seu resultado em uma coleção do banco de dados.
Métodos incluídos no Retryable
#read_worker, #select_server, #write_worker
Métodos incluídos no Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger
Métodos incluídos do Iterable
Detalhes do construtor
#inicializar(visualização, pipeline, opções = {}) ➤ Agregação
Inicialize a aggregation para a visualização, pipeline e opções de collection fornecidas.
97 98 99 100 101 102 103 104 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 97 def inicializar(vista, gasoduto, = {}) @view = vista @pipeline = gasoduto.dup a menos que mongo.quebrado_view_aggregate || vista.filtro, filtro.vazio? @pipeline.unshift(:$match => vista.filtro, filtro) end @opções = BSON::Documento.Novo().congelar end |
Detalhes do atributo da instância
#pipeline ➤ Array<Hash> (somente leitura)
Retorna pipeline O aggregation pipeline.
37 38 39 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 37 def gasoduto @pipeline end |
#view ➤ Visualizar (somente leitura)
Retorna a visualização A visualização da collection.
35 36 37 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 35 def vista @view end |
Detalhes do método de instância
#allow_disk_use(value = nil) ➤ true, ...
Defina como verdadeiro se o uso do disco for permitido durante a agregação.
62 63 64 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 62 def allow_disk_use(valor = nada) configure(:allow_disk_use, valor) end |
#explain ➤ Hash
Obtenha o plano de explicação para a aggregation.
114 115 116 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 114 def explicar auto.classe.Novo(vista, gasoduto, .mesclar(explicar: true)).primeiro end |
#escrever? ➤ Booleano
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Se esta agregação escreverá seu resultado em uma coleção do banco de dados.
124 125 126 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb', linha 124 def escrever? gasoduto.algum? { |op| op.chave?('$out') || op.chave?(:$out) || op.chave?('$merge') || op.chave?(:$merge) } end |