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
Adiciona a opção de limitar o número de documentos digitalizados na coleção.
-
#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.
14 15 16 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 14 def @opções end |
#options As opções de query.(As opções de query.) ➤ Objeto
14 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 14 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.
374 375 376 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 374 def encaminháveis public_instance_methods(false) - [ :opções, :options= ] 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.
24 25 26 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 24 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.
40 41 42 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 40 def batch_size(valor = nada) opção(valor) { || .Armazenar(:batch_size, valor) } end |
#agrupamento(agrupamento_doc) ➤ Opcional
Defina o agrupamento.
303 304 305 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 303 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.
274 275 276 277 278 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 274 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.
291 292 293 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 291 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.
52 53 54 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 52 def descendentes(*Campos) sort_with_list(*Campos, -1) end |
# opcional
Adicione uma dica de índice às opções de query.
67 68 69 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 67 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.
79 80 81 82 83 84 85 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 79 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
Adiciona a opção de limitar o número de documentos digitalizados na coleção.
96 97 98 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 96 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.
108 109 110 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 108 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.
118 119 120 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 118 def no_timeout clonar.toque { |Query| Query..Armazenar(:timeout, false) } end |
#only(*args) ➤ Opcional
Limita os resultados para conter apenas os campos fornecidos.
130 131 132 133 134 135 136 137 138 139 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 130 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.
170 171 172 173 174 175 176 177 178 179 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 170 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.
191 192 193 194 195 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 191 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.
205 206 207 208 209 210 211 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 205 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.
222 223 224 225 226 227 228 229 230 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 222 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.
238 239 240 241 242 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 238 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.
252 253 254 255 256 257 258 259 260 261 |
# Arquivo 'lib/mongoid/criteria/queryable/optional.rb', linha 252 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 |