Módulo: Mongoid::Criteria::Queryable::Optional
- Ampliado por:
- Macroable
- Incluido en:
- Mongoid::Criteria::Queryable
- Definido en:
- lib/mongoid/criteria/queryable/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 del atributo.
- #options Las opciones de query.(Las opciones de query.) ⇒ Objeto
Resumen del método de clase colapsar
-
.transmitibles ⇒ Array<Symbol>
Obtén 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
Añade la opción de indicar a MongoDB cuántos documentos recuperar en su agrupación 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
Configura el tipo de cursor.
-
#descendente(*campos) ⇒ Opcional (también: #desc)
Agregar opciones de orden descendente para todos los campos proporcionados.
-
#hint(valor = nil) ⇒ Opcional
Agrega una sugerencia de índice a las opciones de query.
-
#limit(value = nil) ⇒ Optional
Agregue la cantidad de documentos a limitar en los resultados devueltos.
-
#max_scan(valor = nil) ⇒ Opcional
Obsoleto
Obsoleto.
La opción max_scan está en desuso en MongoDB 4.0 y versiones posteriores. Utilice max_time_ms en su lugar.
-
#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.
-
#slice(criterio = nil) ⇒ Opcional
Limite los resultados retornados mediante el corte de arreglos embebidos.
-
#instantánea ⇒ Opcional
Indique a la query que opere en modo snapshot.
-
#without(*args) ⇒ Opcional
Restringe los resultados a que solo contengan los campos que no se proporcionan.
Métodos incluidos de Macroable
Detalles de atributo de instancias
#opciones ⇒ Objeto
Devuelve el valor de las opciones del atributo.
12 13 14 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 12 def @options end |
#opciones Las opciones de consulta.(Las opciones de consulta.) ⇒ objeto
12 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 12 attr_accessor :options |
Detalles del método de clase
.forwardables ⇒ arreglo<Symbol>
Obtén los métodos opcionales que se pueden reenviar desde un modelo.
373 374 375 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 373 def reenviables public_instance_methods(false) - %i[opciones 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.
22 23 24 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 22 def Ascendente(*Campos) ordenar_con_lista(*Campos, 1) end |
#batch_size(valor = nil) ⇒ Opcional
Añade la opción de indicar a MongoDB cuántos documentos recuperar en su agrupación por lotes.
38 39 40 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 38 def batch_size(Valor = nulo) Opción(Valor) { || .store(:batch_size, Valor) } end |
#intercalación(collation_doc) ⇒ Opcional
Configura la intercalación.
305 306 307 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 305 def intercalación(collation_doc) clonar.tocar { |Consulta| Consulta..store(intercalació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.
276 277 278 279 280 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 276 def comment(comment = nulo) clonar.tocar hacer |Consulta| Consulta..store(:comment, comment) end end |
#cursor_type(type) ⇒ Opcional
El cursor puede ser de tipo :tailable o :tailable_await.
Configura el tipo de cursor.
293 294 295 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 293 def cursor_type(tipo) clonar.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.
50 51 52 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 50 def Descendente(*Campos) ordenar_con_lista(*Campos, -1) end |
#hint(valor = nil) ⇒ Opcional
Agrega una sugerencia de índice a las opciones de query.
65 66 67 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 65 def hint(Valor = nulo) Opción(Valor) { || .store(:hint, Valor) } end |
#limit(value = nil) ⇒ Optional
Agregue la cantidad de documentos a limitar en los resultados devueltos.
77 78 79 80 81 82 83 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 77 def limit(Valor = nulo) Opción(Valor) hacer |, Consulta| val = Valor.to_i .store(:limit, val) Consulta.pipeline.push('$limit' => val) si ¿Agrupando? end end |
#max_scan(valor = nil) ⇒ Opcional
La opción max_scan está en desuso en MongoDB 4.0 y versiones posteriores. Utilice max_time_ms en su lugar.
Agrega la opción de limitar la cantidad de documentos escaneados en la colección.
97 98 99 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 97 def max_scan(Valor = nulo) Opción(Valor) { || .store(max_scan, Valor) } end |
#max_time_ms(value = nil) ⇒ Opcional
Agrega un límite de tiempo acumulativo en milisegundos para el procesamiento de operaciones en un cursor.
110 111 112 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 110 def max_time_ms(Valor = nulo) Opción(Valor) { || .store(max_time_ms, Valor) } end |
#no_timeout ⇒ Opcional
Indique a la query que no caduque.
120 121 122 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 120 def sin tiempo de espera clonar.tocar { |Consulta| Consulta..store(:timeout, false) } end |
#solo(*args) ⇒ Opcional
Limita los resultados para que solo contengan los campos proporcionados.
132 133 134 135 136 137 138 139 140 141 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 132 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.
172 173 174 175 176 177 178 179 180 181 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 172 def ordenar_por(*especificación) Opción(especificación) hacer |, Consulta| especificación.compact.cada hacer |criterion| criterion.__sort_option__.each_pair hacer |Campo, Instrucciones| add_sort_option(, Campo, Instrucciones) end Consulta.pipeline.push('$sort' => [:sort]) si ¿Agrupando? 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.
193 194 195 196 197 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 193 def reordenar(*especificación) clonar.tocar hacer |Consulta| Consulta..borrar(:sort) end.ordenar_por(*especificación) end |
#skip(valor = nil) ⇒ Opcional También conocido como: offset
Agregar el número de documentos a omitir.
207 208 209 210 211 212 213 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 207 def Omitir(Valor = nulo) Opción(Valor) hacer |, Consulta| val = Valor.to_i .store(Omitir, val) Consulta.pipeline.push('$skip' => val) si ¿Agrupando? end end |
#slice(criterio = nil) ⇒ Opcional
Limite los resultados retornados mediante el corte de arreglos embebidos.
224 225 226 227 228 229 230 231 232 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 224 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 |
#snapshot ⇒ Opcional
Indique a la query que opere en modo snapshot.
240 241 242 243 244 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 240 def snapshot clonar.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.
254 255 256 257 258 259 260 261 262 263 |
# Archivo 'lib/mongoid/criteria/queryable/optional.rb', línea 254 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 |