Módulo: Mongoid::Criteria::Queryable::Optional
- Ampliado por:
- Macrosable
- Incluido en:
- Mongoid::Criteria::Queryable
- Definido en:
- lib/mongoid/criterios/consultable/opcional.rb
Overview
El módulo opcional incluye todo el comportamiento relacionado con opciones extras en torno a las query, como omitir, limitar, ordenar, etc.
Resumen de atributos de la instancia colapsar
-
#opciones ⇒ Objeto
Devuelve el valor de las opciones de atributo.
- #opciones Las opciones de consulta.(Thequeryoptions.) ⇒ Objeto
Resumen del método de clase colapsar
-
.transmitibles ⇒ Array<Symbol>
Obtenga los métodos opcionales que se pueden reenviar desde un modelo.
Resumen del método de instancia colapsar
-
#ascendente(*campos) ⇒ Opcional (también: #asc)
Añadir opciones de orden ascendente para todos los campos proporcionados.
-
#batch_size(value = nil) ⇒ Opcional
Agrega la opción para indicar a MongoDB cuántos documentos recuperar en su procesamiento por lotes.
-
#intercalación(collation_doc) ⇒ Opcional
Configura la intercalación.
-
#comment(comment = nil) ⇒ Optional
Relaciona un comentario con la query.
-
#cursor_type(tipo) ⇒ Opcional
Establecer el tipo de cursor.
-
#descendente(*campos) ⇒ Opcional (también: #desc)
Agregar opciones de orden descendente para todos los campos proporcionados.
-
#hint(valor = nil) ⇒ 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 = nil) ⇒ Opcional
Agrega un límite de tiempo acumulativo en milisegundos para el procesamiento de 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 un criterio de clasificación a las opciones.
-
#reorder(*spec) ⇒ Opcional
En lugar de combinar los criterios de orden, utiliza este método para reemplazar completamente el orden existente con el proporcionado.
-
#skip(valor = nil) ⇒ Opcional (también: #offset)
Agregar 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.
-
#without(*args) ⇒ Opcional
Restringe los resultados a que solo contengan los campos que no se proporcionan.
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 @options end |
#opciones Las opciones de consulta.(Las opciones de consulta.) ⇒ objeto
14 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 14 attr_accessor :options |
Detalles del método de clase
.forwardables ⇒ arreglo<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) - [ :options, Opciones ] end |
Detalles del método de instancia
#ascendente(*campos) ⇒ Opcional También conocido como: asc
Añadir opciones de orden 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 |
#batch_size(valor = nil) ⇒ Opcional
Agrega la opción para indicar 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(:batch_size, Valor) } end |
#intercalación(collation_doc) ⇒ Opcional
Configura la intercalación.
303 304 305 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 303 def intercalación(collation_doc) clon.tocar { |Consulta| Consulta..store(:colación, collation_doc) } end |
#comment(comment = nil) ⇒ Optional
Configure el nivel de perfilado en 2 y el comentario se registrará en la colección de perfiles junto con la query.
Relaciona un comentario con la query.
274 275 276 277 278 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 274 def comment(comment = nulo) clon.tocar 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 cursor_type(tipo) clon.tocar { |Consulta| Consulta..store(tipo_de_cursor, tipo) } end |
#descendente(*campos) ⇒ Opcional También conocido como: desc
Agregar opciones de orden 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 |
#hint(valor = nil) ⇒ 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("$limit" => 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 max_scan(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 el procesamiento de 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(max_time_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.tocar { |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 solo(*args) args = args.nivelar opción(*args) hacer || .store( campo, args.inyectar([campo] || {}){ |sub, Campo| sub.tocar { sub[Campo] = 1 }}, false ) end end |
#order_by(*spec) ⇒ Opcional También conocido como: orden
Añade un criterio 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| add_sort_option(, Campo, dirección) end Consulta.pipeline.push("$sort" => [:sort]) si ¿agregando? end end end |
#reorder(*spec) ⇒ Opcional
En lugar de combinar los criterios de orden, utiliza este método para reemplazar completamente el orden existente con el proporcionado.
191 192 193 194 195 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 191 def reordenar(*especulación) clon.tocar hacer |Consulta| Consulta..borrar(:sort) end.ordenar por(*especulación) end |
#skip(valor = nil) ⇒ Opcional También conocido como: offset
Agregar 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(Omitir, val) Consulta.pipeline.push("$saltar" => val) si ¿agregando? end end |
#slice(criterio = nil) ⇒ 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 rebanada(criterion = nulo) opción(criterion) hacer || .__unión__( campo: criterion.inyectar({}) hacer |opción, (Campo, val)| opción.tocar { |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.tocar hacer |Consulta| Consulta..store(snapshot, true) end end |
#sin(*args) ⇒ Opcional
Restringe los resultados a que solo contengan los campos que no se proporcionan.
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.nivelar opción(*args) hacer || .store( campo, args.inyectar([campo] || {}){ |sub, Campo| sub.tocar { sub[Campo] = 0 }}, false ) end end |