Módulo: Mongoide::Criterios::Consultable

Incluye:
Agregable, Expandible, Fusionable, Opcional, Almacenable, Seleccionable
Incluido en:
Mongoid::Criterios
Definido en:
lib/mongoid/criteria/queryable.rb,
lib/mongoid/criteria/queryable/key.rb,
lib/mongoid/criteria/queryable/smash.rb,
lib/mongoid/criteria/queryable/options.rb,
lib/mongoid/criteria/queryable/optional.rb,
lib/mongoid/criteria/queryable/pipeline.rb,
lib/mongoid/criteria/queryable/selector.rb,
lib/mongoid/criteria/queryable/storable.rb,
lib/mongoid/criteria/queryable/macroable.rb,
lib/mongoid/criteria/queryable/mergeable.rb,
lib/mongoid/criteria/queryable/aggregable.rb,
lib/mongoid/criteria/queryable/expandable.rb,
lib/mongoid/criteria/queryable/selectable.rb,
lib/mongoid/criteria/queryable/extensions/set.rb,
lib/mongoid/criteria/queryable/extensions/date.rb,
lib/mongoid/criteria/queryable/extensions/hash.rb,
lib/mongoid/criteria/queryable/extensions/time.rb,
lib/mongoid/criteria/queryable/extensions/array.rb,
lib/mongoid/criteria/queryable/extensions/range.rb,
lib/mongoid/criteria/queryable/extensions/object.rb,
lib/mongoid/criteria/queryable/extensions/regexp.rb,
lib/mongoid/criteria/queryable/extensions/string.rb,
lib/mongoid/criteria/queryable/extensions/symbol.rb,
lib/mongoid/criteria/queryable/extensions/boolean.rb,
lib/mongoid/criteria/queryable/extensions/numeric.rb,
lib/mongoid/criteria/queryable/extensions/date_time.rb,
lib/mongoid/criteria/queryable/extensions/nil_class.rb,
lib/mongoid/criteria/queryable/extensions/big_decimal.rb,
lib/mongoid/criteria/queryable/extensions/time_with_zone.rb

Overview

Un objeto consultable es cualquier objeto que requiere la inyección de su DSL para generar consultas de MongoDB. Por ejemplo, Mongoid::Criteria es un objeto consultable.

Ejemplos:

Incluir funcionalidad consultable.

class Criteria
  include Queryable
end

Definido en el espacio de nombres

Modules: Agregable, Expandible, Extensiones, Macros, Fusionable, Opcional, Seleccionable, Almacenable Clases: Clave, Opciones, Pipeline, Selector, Smash

Colapso delresumen de atributos de instancia

Atributos incluidos en Opcional

#opciones, #opciones Las opciones de consulta.

Atributos incluidos desde Agregable

#agregando, #agregando Bandera que indica si estamos agregando o no, #tubería, #tubería La tubería de agregación.

Atributos incluidos en Mergeable

#estrategia, #estrategia El nombre de la estrategia actual.

Colapso del resumen del método de instancia

Métodos incluidos en Opcional

#ascendente, #tamaño_de_lote, #intercalación, #comentario, #tipo_de_cursor, #descendente, reenviables, #pista, #límite, #escaneo_máximo, #tiempo_máximo_ms, #sin_tiempo_de_espera, #solo, #ordenar_por, #reordenar, #omitir, #segmento, #instantánea, #sin

Métodos incluidos en Macroable

#key

Métodos incluidos en Seleccionable

#selector_atómico

Métodos incluidos de Aggregable (Agregable)

#agregando?, #agrupar, #proyecto, #desenrollar

Métodos incluidos en Mergeable

#operador_y_con, #intersecar, #anular, #¡reiniciar_estrategias!, #unión

Métodos incluidos en Almacenable

#add_field_expression, #add_logical_operator_expression, #add_one_expression, #add_operator_expression

Detalles de los atributos de instancia

#aliasObjeto (solo lectura)

Devuelve el valor de los alias de atributos.



37
38
39
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 37

def aliases
  @aliases
end

#alias Los alias.(Thealiases.) ⇒ Objeto (solo lectura)



37
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 37

lector de atributos :aliases

#serializadoresObjeto (solo lectura)

Devuelve el valor de los serializadores de atributos.



40
41
42
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 40

def serializadores
  @serializadores
end

#serializadores Los serializadores.(Los serializadores.) ⇒ Objeto (solo lectura)



40
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 40

lector de atributos :serializadores

Detalles del método de instancia

#==(otro) ⇒ verdadero | falso

¿Es esta consulta igual a otro objeto? Es verdadero si el selector y las opciones son iguales.

Ejemplos:

¿Son iguales los objetos?

queryable == criteria

Parámetros:

  • otros (Objeto) -

    El objeto a comparar.

Devuelve:

  • (verdadero | falso)

    Si los objetos son iguales.



51
52
53
54
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 51

def ==(otros)
  return false a no ser que otros.is_a?(Consultable)
  selector == otros.selector && opciones == otros.opciones
end

#inicializar(alias = {}, serializadores = {}, asociaciones = {}, asociaciones_aliasadas = {}) {|_self|... } ⇒ Objeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Inicializa la nueva consulta. Se cederá al bloque si se proporciona un bloque para objetos que requieren un comportamiento adicional.

Ejemplos:

Inicializar la consulta.

Queryable.new

Parámetros:

  • aliases (Hash) (predeterminado: {})

    Los alias de campo opcionales.

  • serializadores (Hash) (predeterminado: {})

    Los serializadores de campo opcionales.

  • asociaciones (Hash) (predeterminado: {})

    Las asociaciones opcionales.

  • asociaciones_aliasadas (Hash) (predeterminado: {})

    Las asociaciones alias opcionales.

  • controlador ( Símbolo) -

    El controlador que se está utilizando.

Rendimientos:

  • (_ser)

Parámetros de rendimiento:



69
70
71
72
73
74
75
76
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 69

def inicializar(aliases = {}, serializadores = {}, asociaciones = {}, asociaciones_aliasadas = {})
  @aliases, @serializadores = aliases, serializadores
  @opciones = opciones.Nuevo(aliases, serializadores, asociaciones, asociaciones_aliasadas)
  @selector = Selector.Nuevo(aliases, serializadores, asociaciones, asociaciones_aliasadas)
  @pipeline = Tubería.Nuevo(aliases)
  @agregando = nulo
  rendimiento(yo) Si ¿bloque_dado?
end

#initialize_copy(otro) ⇒ Objeto

Manejar la creación de una copia mediante #clone o #dup.

Ejemplos:

Manejar la inicialización de la copia.

queryable.initialize_copy(criteria)

Parámetros:

  • otros (Consultable)

    La copia original.



84
85
86
87
88
# Archivo 'lib/mongoid/criteria/queryable.rb', línea 84

def inicializar_copia(otros)
  @opciones = otros.opciones.__copia_profunda__
  @selector = otros.selector.__copia_profunda__
  @pipeline = otros.pipeline.__copia_profunda__
end