Módulo: Mongoid::Criteria::Queryable

Incluye:
Agregable, Expandible, Fusionable, Opcional, Almacenable, Seleccionable
Incluido en:
Mongoid::Criteria
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/opcional.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/arreglo.rb,
lib/mongoid/criteria/queryable/extensions/rango.rb,
lib/mongoid/criteria/queryable/extensions/objeto.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/booleano.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 elemento consultable es cualquier objeto que necesite inyectar el DSL de los elementos consultables para compilar consultas en MongoDB. Por ejemplo, un Mongoid::Criteria es un Queryable.

Ejemplos:

Incluya la funcionalidad de consulta.

class Criteria
  include Queryable
end

Definido bajo Namespace

Modules: Agregable, Expandible, Extensiones, Macrofable, 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 de Macroable

#key

Métodos incluidos de Seleccionable

#atomic_selector

Métodos incluidos de Aggregable (Agregable)

#aggregating?, #group, #Proyecto, #unwind

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 atributo de instancias

#aliasesObjeto (solo lectura)

Devuelve el valor del atributo aliases.



35
36
37
# archivo 'lib/mongoid/criteria/queryable.rb', línea 35

def aliases
  @aliases
end

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



35
# archivo 'lib/mongoid/criteria/queryable.rb', línea 35

attr_reader :aliases

#serializadoresObjeto (solo lectura)

Devuelve el valor del atributo serializers.



38
39
40
# archivo 'lib/mongoid/criteria/queryable.rb', línea 38

def Serializadores
  @serializadores
end

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



38
# archivo 'lib/mongoid/criteria/queryable.rb', línea 38

attr_reader /:serializers

Detalles del método de instancia

#==(another) ⇒ 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.



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

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 es parte de una API privada. Se debe evitar el uso de este método 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 (encriptada) (por defecto: {})

    Los alias de campo opcionales.

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

    Los serializadores de campo opcionales.

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

    Las asociaciones opcionales.

  • asociaciones_aliased (encriptada) (por defecto: {})

    Las asociaciones opcionales con alias.

  • controlador (Símbolo)

    El controlador que se está utilizando.

Rendimientos:

  • (_self)

Parámetros de rendimiento:



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

def inicializar(aliases = {}, Serializadores = {}, asociaciones = {}, asociaciones_aliased = {})
  @aliases, @serializadores = aliases, Serializadores
  @options = opciones.Nuevo(aliases, Serializadores, asociaciones, asociaciones_aliased)
  @selector = Selector.Nuevo(aliases, Serializadores, asociaciones, asociaciones_aliased)
  @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:

Gestionar la inicialización de la copia.

queryable.initialize_copy(criteria)

Parámetros:



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

def initialize_copy(Otros)
  @options = Otros.opciones.__deep_copy__
  @selector = Otros.selector.__deep_copy__
  @pipeline = Otros.pipeline.__deep_copy__
end

#to_mqlHash

Devuelve el selector y las opciones de los criterios en forma de comando MongoDB.

Devuelve:

  • (encriptada)

    El comando.



92
93
94
95
96
97
98
# archivo 'lib/mongoid/criteria/queryable.rb', línea 92

def to_mql
  {
    '$db': database_name,
    buscar: Colección.Nombre,
    filtro: selector
  }.fusionar(opciones)
end