Clase: Mongo::Colección::Vista::Constructor::Agregación

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Definido en:
lib/mongo/colección/vista/constructor/agregación.rb

Overview

Crea una especificación de comando de agregación a partir de la vista y las opciones.

Desde:

  • 2.2.0

Colapso delresumen constante

MAPPINGS =

Las asignaciones de las opciones de Ruby a las opciones de agregación.

Desde:

  • 2.2.0

BSON::Documento.Nuevo(
  allow_disk_use: 'allowDiskUse',
  omitir la validación del documento: 'bypassDocumentValidation',
  explicar: 'explicar ',
  colación: 'colación ',
  comment: 'comment',
  hint: 'hint',
  let: 'dejar ',
  # Esto es intencional; max_await_time_ms es un alias de maxTimeMS
  # se usa en los comandos getMore para flujos de cambios.
  tiempo máximo de espera ms: 'maxTimeMS',
  tiempo máximo_ms: 'maxTimeMS',
).freeze

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Detalles del constructor

#inicializar(tubería, vista, opciones) ⇒ Agregación

Inicializa el constructor.

Parámetros:

  • pipeline (Matriz<Hash>)

    La pipeline de agregación.

  • vista (Colección:: Ver)

    La vista de la colección.

  • opciones (Hash)

    Las opciones de mapa/reducir y preferencia de lectura.

Desde:

  • 2.2.0



64
65
66
67
68
# Archivo 'lib/mongo/collection/view/builder/aggregation.rb', línea 64

def inicializar(pipeline, vista, opciones)
  @pipeline = pipeline
  @view = vista
  @opciones = opciones
end

Detalles de los atributos de instancia

#opcionesHash (solo lectura)

Opciones de retorno Las opciones específicas del mapa/reducción.

Devuelve:

  • (Hash)

    options Las opciones específicas de map/reduce.

Desde:

  • 2.2.0



55
56
57
# Archivo 'lib/mongo/collection/view/builder/aggregation.rb', línea 55

def opciones
  @opciones
end

#pipelineArray<Hash> (solo lectura)

Devuelve la tubería La tubería.

Devuelve:

  • (Matriz<Hash>)

    El oleoducto.

Desde:

  • 2.2.0



49
50
51
# Archivo 'lib/mongo/collection/view/builder/aggregation.rb', línea 49

def pipeline
  @pipeline
end

#viewCollection::View (solo lectura)

Vista de retorno La vista de colección.

Devuelve:

Desde:

  • 2.2.0



52
53
54
# Archivo 'lib/mongo/collection/view/builder/aggregation.rb', línea 52

def vista
  @view
end

Detalles del método de instancia

#especificaciónHash

Obtenga la especificación que se pasará a la operación de agregación.

Ejemplos:

Obtenga la especificación.

builder.specification

Devuelve:

  • (Hash)

    La especificación.

Desde:

  • 2.2.0



78
79
80
81
82
83
84
85
86
87
88
89
90
# Archivo 'lib/mongo/collection/view/builder/aggregation.rb', línea 78

def Especificación
  especulación = {
    selector: comando_de_agregación,
    nombre_base_datos: database.Nombre,
    leer: @opciones[:preferencia de lectura] || vista.read_preference,
    sesión: @opciones[:sesión],
    colación: @opciones[:colación],
  }
  Si ¿escribir?
    especulación.update(escribir_preocupación: escribir_preocupación)
  end
  especulación
end