Módulo: Mongoid::Criteria::Queryable::Optional
- Ampliado por:
- Macrosable
- Incluido en:
- Mongoid::Criterios::Consultable
- Definido en:
- lib/mongoid/criterios/consultable/opcional.rb
Overview
El módulo opcional incluye todo el comportamiento que tiene que ver con opciones adicionales relacionadas con las consultas, como omitir, limitar, ordenar, etc.
Colapso delresumen de atributos de instancia
-
#opciones ⇒ Objeto
Devuelve el valor de las opciones de atributo.
- #opciones Las opciones de consulta.(Thequeryoptions.) ⇒ Objeto
Colapso delresumen del método de clase
-
.forwardables ⇒ Matriz<Símbolo><Symbol>
Obtenga los métodos opcionales que se pueden reenviar desde un modelo.
Colapso del resumen del método de instancia
-
#ascendente(*campos) ⇒ Opcional (también: #asc)
Agregue opciones de clasificación ascendente para todos los campos proporcionados.
-
#tamaño_lote(valor = nulo) ⇒ Opcional
Agrega la opción para indicarle a MongoDB cuántos documentos recuperar en su procesamiento por lotes.
-
#intercalación(collation_doc) ⇒ Opcional
Establecer la intercalación.
-
#comment(comment = nil) ⇒ Optional
Asociar un comentario a la consulta.
-
#cursor_type(tipo) ⇒ Opcional
Establecer el tipo de cursor.
-
#descendente(*campos) ⇒ Opcional (también: #desc)
Agregue opciones de clasificación descendente para todos los campos proporcionados.
-
#pista(valor = nulo) ⇒ Opcional
Añade una sugerencia de índice a las opciones de consulta.
-
#limit(value = nil) ⇒ Optional
Agregue el número de documentos a limitar en los resultados devueltos.
-
#max_scan(valor = nulo) ⇒ Opcional
Agrega la opción de limitar la cantidad de documentos escaneados en la colección.
-
#max_time_ms(valor = nulo) ⇒ Opcional
Agrega un límite de tiempo acumulativo en milisegundos para procesar operaciones en un cursor.
-
#no_timeout ⇒ Opcional
Indique a la query que no caduque.
-
#solo(*args) ⇒ Opcional
Limita los resultados para que solo contengan los campos proporcionados.
-
#order_by(*spec) ⇒ Opcional (también: #order)
Añade criterios de clasificación a las opciones.
-
#reordenar(*especificación) ⇒ Opcional
En lugar de fusionar los criterios de pedido, utilice este método para reemplazar completamente el pedido existente con el proporcionado.
-
#skip(valor = nulo) ⇒ Opcional (también: #offset)
Añade el número de documentos a omitir.
-
# rebanada (criterio = nulo) ⇒Opcional
Limite los resultados retornados mediante el corte de arreglos embebidos.
-
# instantánea ⇒ Opcional
Indique a la consulta que funcione en modo instantánea.
-
#sin(*args) ⇒ Opcional
Limita los resultados para que solo contengan los campos no proporcionados.
Métodos incluidos en Macroable
Detalles de los atributos de instancia
#opciones ⇒ Objeto
Devuelve el valor de las opciones de atributo.
14 15 16 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 14 def @opciones end |
#opciones Las opciones de consulta.(Thequeryoptions.) ⇒ Objeto
14 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 14 attr_accessor :opciones |
Detalles del método de clase
.forwardables ⇒ Matriz<Símbolo><Symbol>
Obtenga los métodos opcionales que se pueden reenviar desde un modelo.
374 375 376 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 374 def reenviables public_instance_methods(false) - [ :opciones, :opciones= ] end |
Detalles del método de instancia
#ascendente(*campos) ⇒ Opcional También conocido como: asc
Agregue opciones de clasificación ascendente para todos los campos proporcionados.
24 25 26 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 24 def ascendente(*campos) ordenar_con_lista(*campos, 1) end |
#tamaño_lote(valor = nulo) ⇒ Opcional
Agrega la opción para indicarle a MongoDB cuántos documentos recuperar en su procesamiento por lotes.
40 41 42 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 40 def tamaño del lote(valor = nulo) opción(valor) { || .store(:tamaño_del_lote, valor) } end |
#intercalación(collation_doc) ⇒ Opcional
Establecer la intercalación.
303 304 305 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 303 def intercalación(collation_doc) clon.grifo { |Consulta| Consulta..store(:colación, collation_doc) } end |
#comment(comment = nil) ⇒ Optional
Establezca profilingLevel en 2 y el comentario se registrará en la colección de perfiles junto con la consulta.
Asociar un comentario a la consulta.
274 275 276 277 278 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 274 def comment(comment = nulo) clon.grifo hacer |Consulta| Consulta..store(:comment, comment) end end |
#cursor_type(tipo) ⇒ Opcional
El cursor puede ser de tipo :tailable o :tailable_await.
Establecer el tipo de cursor.
291 292 293 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 291 def tipo_de_cursor(tipo) clon.grifo { |Consulta| Consulta..store(:tipo_de_cursor, tipo) } end |
#descendente(*campos) ⇒ Opcional También conocido como: desc
Agregue opciones de clasificación descendente para todos los campos proporcionados.
52 53 54 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 52 def descendente(*campos) ordenar_con_lista(*campos, -1) end |
#pista(valor = nulo) ⇒ Opcional
Añade una sugerencia de índice a las opciones de consulta.
67 68 69 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 67 def hint(valor = nulo) opción(valor) { || .store(:hint, valor) } end |
#limit(value = nil) ⇒ Optional
Agregue el número de documentos a limitar en los resultados devueltos.
79 80 81 82 83 84 85 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 79 def limit(valor = nulo) opción(valor) hacer |, Consulta| val = valor.to_i .store(:limit, val) Consulta.pipeline.Push("$límite" => val) Si ¿agregando? end end |
#max_scan(valor = nil) ⇒ Opcional
Agrega la opción de limitar la cantidad de documentos escaneados en la colección.
96 97 98 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 96 def escaneo máximo(valor = nulo) opción(valor) { || .store(:máximo_escaneo, valor) } end |
#max_time_ms(valor = nulo) ⇒ Opcional
Agrega un límite de tiempo acumulativo en milisegundos para procesar operaciones en un cursor.
108 109 110 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 108 def tiempo máximo_ms(valor = nulo) opción(valor) { || .store(:tiempo máximo_ms, valor) } end |
#no_timeout ⇒ Opcional
Indique a la query que no caduque.
118 119 120 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 118 def sin_tiempo_de_espera clon.grifo { |Consulta| Consulta..store(:timeout, false) } end |
#solo(*args) ⇒ Opcional
Limita los resultados para que solo contengan los campos proporcionados.
130 131 132 133 134 135 136 137 138 139 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 130 def sólo(*args) args = args.aplanar opción(*args) hacer || .store( :campos, args.inyectar([:campos] || {}){ |sub, Campo| sub.grifo { sub[Campo] = 1 }}, false ) end end |
#order_by(*spec) ⇒ Opcional También conocido como: order
Añade criterios de clasificación a las opciones.
170 171 172 173 174 175 176 177 178 179 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 170 def ordenar por(*especulación) opción(especulación) hacer |, Consulta| especulación.compact.cada hacer |criterion| criterion.__sort_option__.each_pair hacer |Campo, dirección| añadir_opción_de_clasificación(, Campo, dirección) end Consulta.pipeline.Push("$ordenar" => [:sort]) Si ¿agregando? end end end |
#reordenar(*especificación) ⇒ Opcional
En lugar de fusionar los criterios de pedido, utilice este método para reemplazar completamente el pedido existente con el proporcionado.
191 192 193 194 195 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 191 def reordenar(*especulación) clon.grifo hacer |Consulta| Consulta..borrar(:sort) end.ordenar por(*especulación) end |
#skip(valor = nulo) ⇒ Opcional También conocido como: desplazamiento
Añade el número de documentos a omitir.
205 206 207 208 209 210 211 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 205 def Omitir(valor = nulo) opción(valor) hacer |, Consulta| val = valor.to_i .store(:saltar, val) Consulta.pipeline.Push("$saltar" => val) Si ¿agregando? end end |
# rebanada(criterio = nulo) ⇒ Opcional
Limite los resultados retornados mediante el corte de arreglos embebidos.
222 223 224 225 226 227 228 229 230 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 222 def segmento(criterion = nulo) opción(criterion) hacer || .__unión__( campos: criterion.inyectar({}) hacer |opción, (Campo, val)| opción.grifo { |opt| opt.store(Campo, { "$slice" => val }) } end ) end end |
# instantánea⇒ Opcional
Indique a la consulta que funcione en modo instantánea.
238 239 240 241 242 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 238 def snapshot clon.grifo hacer |Consulta| Consulta..store(:instantánea, true) end end |
#sin(*args) ⇒ Opcional
Limita los resultados para que solo contengan los campos no proporcionados.
252 253 254 255 256 257 258 259 260 261 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 252 def sin(*args) args = args.aplanar opción(*args) hacer || .store( :campos, args.inyectar([:campos] || {}){ |sub, Campo| sub.grifo { sub[Campo] = 0 }}, false ) end end |