Clase: Mongoid::Criteria::Queryable::Options

Hereda:
Smash
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/criteria/queryable/options.rb

Overview

Las opciones son una representación hash de las opciones pasadas a consultas de MongoDB, como omitir, limitar y criterios de ordenación.

Resumen del atributo de la instancia

Atributos heredados de Smash

#aliased_associations, #aliased_associations Las aliased_associations., #aliases, #aliases Los aliases., #associations, #associations Las associations., #serializers, #serializers Los serializers.

Resumen del método de instancia colapsar

Métodos heredados de Smash

#[], #initialize

Detalles del Constructor

Esta clase hereda un constructor de Mongoid::Criteria::Queryable::Smash

Detalles del método de instancia

#__deep_copy__Options

Realiza una copia profunda de las opciones.

Ejemplos:

Realiza una copia profunda.

options.__deep_copy__

Devuelve:



99
100
101
102
103
104
105
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 99

def __deep_copy__
  sí mismo.clase.Nuevo(aliases, Serializadores, asociaciones, asociaciones_aliased) hacer |copy|
    each_pair hacer |llave, Valor|
      copy.¡Actualizar!(llave => Valor.__deep_copy__)
    end
  end
end

#camposHash

Método conveniente para obtener las opciones de campo.

Ejemplos:

Consigue las opciones de los campos.

options.fields

Devuelve:

  • (encriptada)

    Las opciones de campos.



15
16
17
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 15

def Campos
  sí mismo[campo]
end

#limitInteger

Método de conveniencia para obtener la opción de límite.

Ejemplos:

Obtenga la opción de límite.

options.limit

Devuelve:

  • (Número entero)

    La opción límite.



25
26
27
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 25

def limit
  sí mismo[:limit]
end

#skipInteger

Método de conveniencia para obtener la opción de omitir.

Ejemplos:

Obtén la opción de omitir.

options.skip

Devuelve:

  • (Número entero)

    La opción de omitir.



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

def Omitir
  sí mismo[Omitir]
end

#sortHash

Método de conveniencia para obtener las opciones de ordenación.

Ejemplos:

Obtén las opciones de ordenación.

options.sort

Devuelve:

  • (encriptada)

    Las opciones de ordenamiento.



45
46
47
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 45

def sort
  sí mismo[:sort]
end

#almacenar(clave, valor, localize = true) ⇒ objeto También conocido como: []=

Almacena el valor en las opciones para la clave proporcionada. Las opciones gestionarán toda la serialización y localización necesaria en este paso.

Ejemplos:

Almacenar un valor en las opciones.

options.store(:key, "testing")

Parámetros:

  • llave (String | Símbolo)

    El nombre del atributo.

  • Valor (objeto)

    El valor a agregar.

Devuelve:

  • (objeto)

    El objeto almacenado.



59
60
61
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 59

def store(llave, Valor, localizar = true)
  super(llave, evolucionar(Valor, localizar))
end

#to_pipelineArray<Hash>

Convierte las opciones en opciones compatibles con el pipeline de agregación.

Ejemplos:

Convertir las opciones en una pipeline.

options.to_pipeline

Devuelve:

  • (arreglo<Hash>)

    Las opciones en forma de pipeline.



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

def to_pipeline
  pipeline = []
  pipeline.push({ '$skip' => Omitir }) si Omitir
  pipeline.push({ '$limit' => limit }) si limit
  pipeline.push({ '$sort' => sort }) si sort
  pipeline
end

#to_pipeline_for_lookupArray<Hash>

Convierte las opciones en opciones compatibles con el pipeline de agregación. Esta versión sitúa sort al final para cumplir con los requisitos de $lookup.

Ejemplos:

Convertir las opciones en una pipeline.

options.to_pipeline_for_lookup

Devuelve:

  • (arreglo<Hash>)

    Las opciones en forma de pipeline.



85
86
87
88
89
90
91
# Archivo 'lib/mongoid/criteria/queryable/options.rb', línea 85

def to_pipeline_for_lookup
  pipeline = []
  pipeline.push({ '$sort' => sort }) si sort
  pipeline.push({ '$skip' => Omitir }) si Omitir
  pipeline.push({ '$limit' => limit }) si limit
  pipeline
end