Módulo: Mongoid::Criteria::Queryable::Optional
- Estendido por:
- macroable
- Incluído em:
- Mongoid::Criteria::Queryable
- Definido em:
- lib/mongoid/criteria/queryable/optional.rb
Visão geral
O módulo opcional inclui todo o comportamento relacionado a opções extras em torno das queries, como pular, limitar, classificar etc.
Recolhimento do Resumo do atributo de instância
-
#opções ➤ Objeto
Retorna o valor das opções de atributo.
- #options As opções de query.(As opções de query.) ➤ Objeto
Recolhimento do Resumo do método de classe
-
.forwardables ➤ Array<Symbol>
Obtenha os métodos no opcional que pode ser encaminhado a partir de um modelo.
Recolhimento do Resumo do método de instância
-
#ascendente(*campos) ➤ Opcional (também: #asc)
Adicione opções de classificação ascendente para todos os campos fornecidos.
-
#batch_size(value = nil) ➤ Opcional
Adiciona a opção de informar ao MongoDB quantos documentos recuperar em lote.
-
#agrupamento(agrupamento_doc) ➤ Opcional
Defina o agrupamento.
-
#coment(comment = nil) ➤ Opcional
Associe um comentário à query.
-
#cursor_type(tipo) ➤ Opcional
Defina o tipo de cursor.
-
#descendente(*campos) ➤ Opcional (também: #desc)
Adicione opções de classificação decrescente para todos os campos fornecidos.
-
#opcional
Adicione uma dica de índice às opções de query.
-
#limit(value = nil) ⇒ Optional
Adicione o número de documentos para limitar nos resultados retornados.
-
#max_scan(value = nil) ➤ Opcional
obsoleto
Obsoleto.
A opção max_scan é preterida no MongoDB 4.0 e posterior. Em vez disso, use max_time_ms.
-
#max_time_ms(value = nil) ➤ Opcional
Adiciona um limite de tempo cumulativo em milissegundos para operações de processamento em um cursor.
-
#no_timeout ➤ Opcional
Diga à query para não atingir o tempo limite.
-
#only(*args) ➤ Opcional
Limita os resultados para conter apenas os campos fornecidos.
-
#order_by(*spec) ➤ Opcional (também: #order)
Adiciona critério de classificação às opções.
-
#reorder(*spec) ➤ Opcional
Em vez de mesclar os critérios de ordem, use esse método para substituir completamente a ordem existente pela fornecida.
-
#skip(value = nil) ➤ Opcional (também: #offset)
Adicione o número de documentos a ignorar.
-
#slice(criterion = nil) ➤ Opcional
Limite os resultados retornados fatiando arrays incorporados.
-
#snapshot ➤ Opcional
Diga à query para operar no modo de snapshot.
-
#sem(*args) ➤ Opcional
Limita os resultados para conter apenas os campos não fornecidos.
Métodos incluídos do macroable
Detalhes do atributo da instância
#opções ➤ Objeto
Retorna o valor das opções de atributo.
12 13 14 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 12 def @opções end |
#options As opções de query.(As opções de query.) ➤ Objeto
12 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 12 attr_accessor :opções |
Detalhes do método de classe
.forwardables ➤ Array<Symbol>
Obtenha os métodos no opcional que pode ser encaminhado a partir de um modelo.
373 374 375 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 373 def encaminháveis public_instance_methods(false) - %i[opções opções=] end |
Detalhes do método de instância
#ascendente(*campos) ➤ Opcional Também conhecido como: asc
Adicione opções de classificação ascendente para todos os campos fornecidos.
22 23 24 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 22 def crescente(*Campos) sort_with_list(*Campos, 1) end |
#batch_size(value = nil) ➤ Opcional
Adiciona a opção de informar ao MongoDB quantos documentos recuperar em lote.
38 39 40 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 38 def batch_size(valor = nada) opção(valor) { || .Armazenar(:batch_size, valor) } end |
#agrupamento(agrupamento_doc) ➤ Opcional
Defina o agrupamento.
305 306 307 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 305 def agrupamento(agrupamento_doc) clonar.toque { |Query| Query..Armazenar(:collation, agrupamento_doc) } end |
#comment(comment = nil) ⇒ Optional
Defina profilingLevel como 2 e o comentário será registrado na coleção de perfil junto com a query.
Associe um comentário à query.
276 277 278 279 280 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 276 def comment(comment = nada) clonar.toque fazer |Query| Query..Armazenar(:comentário, comment) end end |
#cursor_type(tipo) ➤ Opcional
O cursor pode ser do tipo :tailable ou :tailable_await.
Defina o tipo de cursor.
293 294 295 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 293 def cursor_type(type) clonar.toque { |Query| Query..Armazenar(:cursor_type, type) } end |
#descendente(*campos) ➤ Opcional Também conhecido como: desc
Adicione opções de classificação decrescente para todos os campos fornecidos.
50 51 52 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 50 def descendentes(*Campos) sort_with_list(*Campos, -1) end |
# opcional
Adicione uma dica de índice às opções de query.
65 66 67 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 65 def dica(valor = nada) opção(valor) { || .Armazenar(:hint, valor) } end |
#limit(value = nil) ⇒ Optional
Adicione o número de documentos para limitar nos resultados retornados.
77 78 79 80 81 82 83 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 77 def limit(valor = nada) opção(valor) fazer |, Query| valid = valor.to_i .Armazenar(:limit, valid) Query.gasoduto.push('$limit' => valid) se agregando? end end |
#max_scan(value = nil) ➤ Opcional
A opção max_scan é preterida no MongoDB 4.0 e posterior. Em vez disso, use max_time_ms.
Adiciona a opção de limitar o número de documentos digitalizados na coleção.
97 98 99 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 97 def max_scan(valor = nada) opção(valor) { || .Armazenar(:max_scan, valor) } end |
#max_time_ms(value = nil) ➤ Opcional
Adiciona um limite de tempo cumulativo em milissegundos para operações de processamento em um cursor.
110 111 112 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 110 def max_time_ms(valor = nada) opção(valor) { || .Armazenar(:max_time_ms, valor) } end |
#no_timeout ➤ Opcional
Diga à query para não atingir o tempo limite.
120 121 122 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 120 def no_timeout clonar.toque { |Query| Query..Armazenar(:timeout, false) } end |
#only(*args) ➤ Opcional
Limita os resultados para conter apenas os campos fornecidos.
132 133 134 135 136 137 138 139 140 141 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 132 def Apenas(*Args) Args = Args.achatar opção(*Args) fazer || .Armazenar( :fields, Args.injetar([:fields] || {}) { |sub, Campo| sub.toque { sub[Campo] = 1 } }, false ) end end |
#order_by(*spec) ➤ Opcional Também conhecido como: pedido
Adiciona critério de classificação às opções.
172 173 174 175 176 177 178 179 180 181 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 172 def order_by(*especificações) opção(especificações) fazer |, Query| especificações.compactar.cada fazer |criterion| criterion.__sort_option__.cada_pair fazer |Campo, Direção| add_sort_option(, Campo, Direção) end Query.gasoduto.push('$sort' => [:sort]) se agregando? end end end |
#reorder(*spec) ➤ Opcional
Em vez de mesclar os critérios de ordem, use esse método para substituir completamente a ordem existente pela fornecida.
193 194 195 196 197 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 193 def reordenar(*especificações) clonar.toque fazer |Query| Query..excluir(:sort) end.order_by(*especificações) end |
#skip(value = nil) ➤ Opcional Também conhecido como: offset
Adicione o número de documentos a ignorar.
207 208 209 210 211 212 213 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 207 def ignorar(valor = nada) opção(valor) fazer |, Query| valid = valor.to_i .Armazenar(:skip, valid) Query.gasoduto.push('$skip' => valid) se agregando? end end |
#slice(criterion = nil) ➤ Opcional
Limite os resultados retornados fatiando arrays incorporados.
224 225 226 227 228 229 230 231 232 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 224 def fatia(criterion = nada) opção(criterion) fazer || .__union__( campos: criterion.injetar({}) fazer |opção, (Campo, valid)| opção.toque { |opt| opt.Armazenar(Campo, { '$slice' => valid }) } end ) end end |
#snapshot ➤ Opcional
Diga à query para operar no modo de snapshot.
240 241 242 243 244 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 240 def snapshot clonar.toque fazer |Query| Query..Armazenar(:snapshot, true) end end |
#sem(*args) ➤ Opcional
Limita os resultados para conter apenas os campos não fornecidos.
254 255 256 257 258 259 260 261 262 263 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 254 def sem(*Args) Args = Args.achatar opção(*Args) fazer || .Armazenar( :fields, Args.injetar([:fields] || {}) { |sub, Campo| sub.toque { sub[Campo] = 0 } }, false ) end end |