Módulo: Mongoid::Criteria::Queryable

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 queryable es cualquier objeto que necesita que se le inyecte el DSL de queryable para construir queries de MongoDB. Por ejemplo, Mongoid::Criteria es un Queryable.

Ejemplos:

Incluya la funcionalidad de consulta.

class Criteria
  include Queryable
end

Definido bajo Namespace

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

Resumen de atributos de la instancia colapsar

Atributos incluidos de Opcional

#opciones, #opciones Los parámetros de la query.

Atributos incluidos de Agregable

#agregando, #agregando Indicador de si estamos agregando o no., #pipeline, #pipeline pipeline de agregación.

Atributos incluidos de Mergeable

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

Resumen del método de instancia colapsar

Métodos incluidos de Opcionales

#ascendente, #tamaño_batch, #intercalación, #comentario, #tipo_cursor, #descendente, reenviables, #sugerencia, #límite, #max_scan, #max_time_ms, #no_timeout, #solo, #order_by, #reordenar, #saltar, #rebanada, #snapshot, #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 de Mergeable

#and_with_operator, #intersect, #override, #reset_strategies!, #unión

Métodos incluidos de Storable

#add_field_expression, #add_logical_operator_expression, #add_one_expression, #add_operator_expression

Detalles de los atributos de instancia

#aliasesObjeto (solo lectura)

Devuelve el valor del atributo aliases.



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

attr_reader :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

attr_reader /:serializers

Detalles del método de instancia

#==(otro) ⇒ verdadero | falso

¿Esta consulta es 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:

  • (true | false)

    Si los objetos son iguales.



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

def ==(Otros)
  return false a menos que Otros.is_a?(Consultable)
  selector == Otros.selector && opciones == Otros.opciones
end

#initialize(aliases = {}, serializers = {}, associations = {}, aliased_associations = {}) {|_self| ... } ⇒ Object

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 el nuevo objeto consultable. Se cederá al bloque si se proporciona un bloque para objetos que necesiten un comportamiento adicional.

Ejemplos:

Inicializa el objeto consultable.

Queryable.new

Parámetros:

  • aliases (Hash) (por defecto: {})

    Los alias de campo opcionales.

  • Serializadores (Hash) (por defecto: {})

    Los serializadores de campo opcionales.

  • asociaciones (Hash) (por defecto: {})

    Las asociaciones opcionales.

  • asociaciones_aliasadas (Hash) (por defecto: {})

    Las asociaciones opcionales con alias.

  • controlador (Símbolo)

    El controlador que se está utilizando.

Rendimientos:

  • (_self)

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
  @options = opciones.Nuevo(aliases, Serializadores, asociaciones, asociaciones_aliasadas)
  @selector = Selector.Nuevo(aliases, Serializadores, asociaciones, asociaciones_aliasadas)
  @pipeline = pipeline.Nuevo(aliases)
  @agrupando = nulo
  rendimiento(sí mismo) si ¿block_given?
end

#initialize_copy(otro) ⇒ Objeto

Gestionar 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)
  @options = Otros.opciones.__deep_copy__
  @selector = Otros.selector.__deep_copy__
  @pipeline = Otros.pipeline.__deep_copy__
end