Módulo: Mongoid::Criteria::Includable
- Incluido en:
- Mongoid::Criteria
- Definido en:
- lib/mongoid/criteria/includable.rb
Overview
Módulo que proporciona funcionalidad para analizar definiciones de inclusión (anidadas).
Resumen del método de instancia colapsar
-
#eager_load(*relations) ⇒ Criterio
Carga de manera ansiosa todas las asociaciones proporcionadas utilizando la agregación $lookup.
-
#includes(*relations) ⇒ Criterios
Carga con entusiasmo todas las relaciones proporcionadas.
-
#inclusiones ⇒ arreglo<Mongoid::Association::Relatable>
Obtén una lista de los criterios que se ejecutarán para la carga ávida.
-
#inclusiones=(valor) ⇒ arreglo<Mongoid::Association::Relatable>
Establece las inclusiones para los criterios.
-
#use_lookup? ⇒ true | false
Devuelve si se debe usar la agregación $lookup para la carga anticipada.
Detalles del método de instancia
#eager_load(*relations) ⇒ Criterio
Carga rápidamente todas las asociaciones proporcionadas usando la agregación $lookup. El comportamiento debe ser idéntico al de #includes.
41 42 43 44 45 |
# Archivo 'lib/mongoid/criteria/includable.rb', línea 41 def eager_load(*relaciones) extract_includes_list(klass, nulo, true, *relaciones) @use_lookup = ! clonar end |
#incluye(*relaciones) ⇒ Criterios
Esto también funcionará para asociaciones embebidas que referencian otra colección mediante el atributo belongs_to.
La precarga trae todos los documentos a la memoria, por lo que hay un punto óptimo en las ganancias de rendimiento. Las pruebas internas muestran que la carga anticipada se vuelve más lenta alrededor de 100k documentos, pero esto dependerá naturalmente de la aplicación específica.
Carga ávidamente todas las asociaciones proporcionadas. Cargará todos los documentos en el mapa de identidad cuyos ids coincidan según la consulta adicional para los ids.
26 27 28 29 |
# Archivo 'lib/mongoid/criteria/includable.rb', línea 26 def incluye(*relaciones) extract_includes_list(klass, nulo, false, *relaciones) clonar end |
#inclusiones ⇒ arreglo<Mongoid::Association::Relatable>
Obtén una lista de los criterios que se ejecutarán para la carga ávida.
57 58 59 |
# Archivo 'lib/mongoid/criteria/includable.rb', línea 57 def inclusiones @inclusion ||= [] end |
#inclusions=(value) ⇒ arreglo<Mongoid::Association::Relatable>
Establece las inclusiones para los criterios.
66 67 68 |
# Archivo 'lib/mongoid/criteria/includable.rb', línea 66 def inclusiones=(Valor) @inclusion = Valor end |
#usar_búsqueda? ⇒ true | false
Devuelve si se debe usar la agregación $lookup para la carga anticipada.
50 51 52 |
# Archivo 'lib/mongoid/criteria/includable.rb', línea 50 def use_lookup? !!@use_lookup end |