Classe: Mongoide::Contextual::Mongo
- Herda:
-
Objeto
- Objeto
- Mongoid::Contexto::Mongo
- Estendido por:
- Encaminhável
- Inclui:
- Enumerável, Associação::EagerLoadable, Atomic, Aggregable::Mongo, Queryable, Plugable
- Definido em:
- lib/mongoid/contextual/mongo.rb,
lib/mongoid/contextual/mongo/documents_loader.rb
Visão geral
objeto de contexto usado para executar operações de query e persistência em massa em documentos que persistem no banco de banco de dados e não foram carregados na memória do aplicação .
Definido sob namespace
Classes: DocumentsLoader
Colapsode resumo constante
- OPÇÕES =
Constante de opções.
%i[dica limit ignorar sort batch_size max_scan max_time_ms snapshot comment ler cursor_type agrupamento].congelar
Constantes incluídas do Atomic
Recolhimento do Resumo do atributo de instância
-
#documents_loader ➤ Objeto
Somente leitura
Retorna o valor do atributo documents_loader.
-
#view ➤ Hash
Somente leitura
Execute uma explicação sobre os critérios.
- #view A visualização da collection mongo .(TheMongocollectionview.) ➤ Objeto Somente leitura
Atributos incluídos no Queryable
#collection, #collection A collection na qual fazer query., #criteria, #criteria Os critérios para o contexto., #klass, #klass O klass para os critérios.
Recolhimento do Resumo do método de instância
-
#count(options = {}, &block) ➤ Inteiro
Obtenha o número de documentos correspondentes à query.
-
#delete ➤ nil (também: #delete_all)
Exclua todos os documentos no banco de dados que correspondam ao seletor.
-
#Destruir ➤ nil (também: #destroy_all)
Destrua todos os documentos no banco de banco de dados que correspondam ao seletor.
-
#distinct(campo) ➤ Array<Object>
Obtenha os valores distintos no banco de dados para o campo fornecido .
-
#cada(&bloco) ➤ Enumerador
Iterar sobre o contexto.
-
#estimated_count(options = {}) ➤ Inteiro
Obtenha o número estimado de documentos correspondentes à query.
-
#existe?(id_or_ conditions = :none) ➤ true | false
Existem documentos para o contexto.
-
#quinto ➤ Documento | nada
Obtenha o quinto document no banco de dados para o seletor de critérios.
-
#quinto! ➤ Documento
Obtenha o quinto document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#find_first ➤ Objeto
privado
Retorne o primeiro resultado sem aplicar classificação.
-
#find_one_and_delete ➤ Documento
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB.
-
#find_one_and_replace(substituição, opções = {}) ➤ Documento
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB.
-
#find_one_and_update(update, options = {}) ➤ Document
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB.
-
#first(limit = nil) ➤ Documento | nil (também: #one)
Obtenha o primeiro document no banco de dados para o seletor dos critérios.
-
#primeiro! ➤ Documento
Obtenha o primeiro document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#quarto ➤ Documento | nada
Obtenha o quarto document no banco de dados para o seletor dos critérios.
-
#quarto! ➤ Documento
Obtenha o quarto document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#initialize(critérios) ➤ mongo
construtor
Crie o novo contexto do mongo .
-
#last(limit = nil) ⇒ Document | nil
Obtenha o último document no banco de dados para o seletor dos critérios.
-
#last! ⇒ Document
Obtenha o último document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#comprimento ➤ inteiro (também: #size)
Retorna o número de documentos no banco de dados de dados que correspondem ao seletor de consulta.
-
#limite(valor) ➤ mongo
Limita o número de documentos retornados do banco de banco de dados.
-
#load_async ➤ Objeto
privado
Agende uma tarefa para carregar documentos para o contexto.
-
#map_reduce(mapear, reduzir) ➤ MapReduce
Inicie uma operação de mapeamento/redução a partir do contexto.
-
#pick(*fields) ➤ Objeto | Array<Object>
Escolha os valores de campo único no banco de banco de dados.
-
#pluck(*fields) ➤ Array<Object> | Array <Array<Object>>
Arraste o(s) valor(es) de campo do banco de dados.
-
#segundo ➤ Documento | nada
Obtenha o segundo document no banco de dados para o seletor dos critérios.
-
#segundo! ➤ Documento
Obtenha o segundo document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#segundo_para_último ➤ Documento | nada
Obtenha o penúltimo document no banco de dados para o seletor de critérios.
-
#segundo_para_último! ➤ Documento
Obtenha o penúltimo document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#skip(value) ➤ mongo
Ignora o número fornecido de documentos.
-
#sort(values = nil, &block) ⇒ Mongo
Classifica os documentos pela especificação fornecida.
-
#take(limit = nil) ➤ Documento | Array<Document>
Pegue o número fornecido de documentos do banco de dados.
-
#take! ⇒ Document
Pegue um documento do banco de dados e gere um erro se não houver nenhum.
-
#tally(campo) ➤ Hash
Obtenha um hash de contagens para os valores de um único campo.
-
#terceiro ➤ Documento | nada
Obtenha o terceiro document no banco de dados para o seletor dos critérios.
-
#terceiro! ➤ Documento
Obtenha o terceiro document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
-
#terceiro_to_last ➤ Documento | nada
Obtenha o penúltimo document no banco de dados para o seletor de critérios.
-
#terceiro_to_last! ➤ Documento
Obtenha o penúltimo document no banco de dados para o seletor do critério ou gere um erro se nenhum for encontrado.
-
#atualização(atributos = nil, opts = {}) ➤ nil | false
Atualize o primeiro documento correspondente atomicamente.
-
#update_all(attributes = nil, opts = {}) ⇒ nil | false
Atualize todos os documentos correspondentes atomicamente.
Métodos incluídos do Queryable
Métodos incluídos de Associação::EagerLoadable
#create_pipeline, #eager_load, #eager_load_with_lookup, #eager_loadable?, #preload, #preload_for_lookup, #switch_local_and_foreign_fields?
Métodos incluídos do Atomic
#add_atomic_pull, #add_atomic_unset, #atomic_array_add_to_sets, #atomic_array_pulls, #atomic_array_pushes, #atomic_attribute_name, #atomic_delete_modifier, #atomic_insert_modifier, #atomic_path, #atomic_paths, #atomic_position, #atomic_pulls, #atomic_pushes, #atomic_sets, #atomic_unsets, #atomic_updates, #delayed_atomic_pulls, #delayed_atomic_sets, #delayed_atomic_unsets, #marca_as_destroyed, #primaged_destroys, #process_lagaged_destroys
Métodos incluídos do Aggregable::Mongo
#aggregates, #avg, #max, #min, #sum
Detalhes do construtor
#initialize(critérios) ➤ mongo
Crie o novo contexto do mongo . Isso delega operações ao driver subjacente.
269 270 271 272 273 274 275 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 269 def inicializar(critério) @criteria, @klass = critério, critério.classe @collection = @klass.collection critério.enviar(:merge_type_selection) @view = collection.find(critério.seletor, sessão: _session) end |
Detalhes do atributo da instância
#documents_loader ➤ Object (somente leitura)
Retorna o valor do atributo documents_loader.
53 54 55 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 53 def documents_loader @documents_loader end |
#view ➤ Hash (somente leitura)
Execute uma explicação sobre os critérios.
41 42 43 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 41 def vista @view end |
#view A visualização da collection mongo .(TheMongocollectionview.) ➤ Objeto (somente leitura)
41 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 41 attr_reader :view |
Detalhes do método de instância
#count(options = {}, &block) ➤ Inteiro
Obtenha o número de documentos correspondentes à query.
72 73 74 75 76 77 78 79 80 81 82 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 72 def contar( = {}, &noum: bloco ; verb: bloquear) Método super(&noum: bloco ; verb: bloquear) se block_given? se valid_for_count_documents? vista.count_documents() mais # TODO: Remova isto quando removermos a API for_js obsoleta. # https://jira.mongodb.org/browse/MONGOID-5681 vista.contar() end end |
#delete ➤ nil Também conhecido como: delete_all
Exclua todos os documentos no banco de dados que correspondam ao seletor.
112 113 114 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 112 def excluir vista.delete_many.delete_count end |
#Destruir ➤ nil Também conhecido como: Destruir_all
Destrua todos os documentos no banco de banco de dados que correspondam ao seletor.
123 124 125 126 127 128 129 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 123 def destruir cada.injetar(0) fazer |contar, doc| doc.destruir contar += 1 se acknowledgement_write? contar end end |
#distinct(campo) ➤ Array<Object>
Obtenha os valores distintos no banco de dados para o campo fornecido .
140 141 142 143 144 145 146 147 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 140 def distinto(Campo) name = classe.Clean_localized_field_names(Campo) vista.distinto(name).map fazer |valor| is_translation = "#{name}_translations" == Campo.to_s recursive_demongoize(name, valor, is_translation) end end |
#cada(&bloco) ➤ Enumerador
Iterar sobre o contexto. Se for fornecido um bloco, produza um documento Mongoid para cada um, caso contrário, retorne um enumeração.
158 159 160 161 162 163 164 165 166 167 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 158 def cada(&noum: bloco ; verb: bloquear) se block_given? documents_for_iteration.cada fazer |doc| rendimento_documento(doc, &noum: bloco ; verb: bloquear) end auto mais to_enum end end |
#estimated_count(options = {}) ➤ Inteiro
Obtenha o número estimado de documentos correspondentes à query.
Ao contrário da contagem, estimated_count não usa um bloco porque não é Tradicionalmente definido (com um bloco) em Enumerable como a contagem.
96 97 98 99 100 101 102 103 104 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 96 def estimated_count( = {}) a menos que critério.seletor.vazio? aumentar Mongoid::Errors::InvalidEstimatedCountScoping.Novo(classe) se classe.default_scoping? aumentar Mongoid::Errors::InvalidEstimatedCountCriteria.Novo(classe) end vista.estimated_document_count() end |
#existe?(id_or_ conditions = :none) ➤ true | false
Não usamos contagem aqui, pois o mongo não usa índices de B-tree contados.
Existem documentos para o contexto.
188 189 190 191 192 193 194 195 196 197 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 188 def existe?(id_or_ conditions = : none) Método false se vista.limit == 0 caso id_or_ conditions quando : none então !!vista.projeção(_id: 1).limit(1).primeiro quando nada, false então false quando Hash então mongo.Novo(critério.ONDE(id_or_ conditions)).existe? mais mongo.Novo(critério.ONDE(_id: id_or_ conditions)).existe? end end |
#quinto ➤ Documento | nada
Obtenha o quinto document no banco de dados para o seletor de critérios.
684 685 686 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 684 def quinto retrieve_nth(4) end |
#quinto! ➤ Documento
Obtenha o quinto document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
698 699 700 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 698 def quinto! quinto || create_document_not_Found_error end |
#find_first ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retornar o primeiro resultado sem aplicar classificação
255 256 257 258 259 260 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 255 def find_first Método a menos que bruto_doc = vista.primeiro doc = Factory.from_db(classe, bruto_doc, critério) modified_load([ doc ]).primeiro end |
#find_one_and_delete ➤ Documento
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB. Isso exclui o document encontrado.
246 247 248 249 250 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 246 def find_one_and_delete Método a menos que doc = vista.find_one_and_delete Factory.from_db(classe, doc) end |
#find_one_and_replace(substituição, opções = {}) ➤ Documento
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB.
233 234 235 236 237 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 233 def find_one_and_replace(substituição, = {}) Método a menos que doc = vista.find_one_and_replace(substituição, ) Factory.from_db(classe, doc) end |
#find_one_and_update(update, options = {}) ⇒ Document
Execute o comando localizar e modificar, usado para o $findAndModify do MongoDB.
213 214 215 216 217 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 213 def find_one_and_update(update, = {}) Método a menos que doc = vista.find_one_and_update(update, ) Factory.from_db(classe, doc) end |
#first(limit = nil) ➤ Documento | nil Também conhecido como: um
Adicionar automaticamente uma classificação no _id quando nenhuma outra classificação está definida nos critérios tem o potencial de causar problemas de desempenho ruins. Se você tiver um desempenho ruim inesperado ao usar #first ou #last e não tiver nenhuma classificação definida nos critérios, use #take em vez disso. Esteja ciente de que #take não garante o pedido.
Obtenha o primeiro document no banco de dados para o seletor dos critérios.
535 536 537 538 539 540 541 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 535 def primeiro(limit = nada) se limit.nada? retrieve_nth(0) mais retrieve_nth_with_limit(0, limit) end end |
#primeiro! ➤ Documento
Adicionar automaticamente uma classificação no _id quando nenhuma outra classificação está definida nos critérios tem o potencial de causar problemas de desempenho ruins. Se você tiver um desempenho ruim inesperado ao usar o #first! ou #last! e não tiver nenhuma classificação definida nos critérios, use #take! no lugar. Esteja ciente de que #take! não garante o pedido.
Obtenha o primeiro document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
560 561 562 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 560 def primeiro! primeiro || create_document_not_Found_error end |
#quarto ➤ Documento | nada
Obtenha o quarto document no banco de dados para o seletor dos critérios.
660 661 662 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 660 def quarto retrieve_nth(3) end |
#quarto! ➤ Documento
Obtenha o quarto document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
674 675 676 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 674 def quarto! quarto || create_document_not_Found_error end |
#last(limit = nil) ⇒ Document | nil
Adicionar automaticamente uma classificação no _id quando nenhuma outra classificação está definida nos critérios tem o potencial de causar problemas de desempenho ruins. Se você tiver um desempenho ruim inesperado ao usar #first ou #last e não tiver nenhuma classificação definida nos critérios, use #take em vez disso. Esteja ciente de que #take não garante o pedido.
Obtenha o último document no banco de dados para o seletor dos critérios.
578 579 580 581 582 583 584 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 578 def último(limit = nada) se limit.nada? retrieve_nth_to_last(0) mais retrieve_nth_to_last_with_limit(0, limit) end end |
#último! ➤ Documento
Adicionar automaticamente uma classificação no _id quando nenhuma outra classificação está definida nos critérios tem o potencial de causar problemas de desempenho ruins. Se você tiver um desempenho ruim inesperado ao usar o #first! ou #last! e não tiver nenhuma classificação definida nos critérios, use #take! no lugar. Esteja ciente de que #take! não garante o pedido.
Obtenha o último document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
602 603 604 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 602 def último! último || create_document_not_Found_error end |
#comprimento ➤ Inteiro Também conhecido como: tamanho
Retorna o número de documentos no banco de dados de dados que correspondem ao seletor de consulta.
286 287 288 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 286 def Tamanho contar end |
#limite(valor) ➤ mongo
Limita o número de documentos retornados do banco de banco de dados.
299 300 301 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 299 def limit(valor) @view = vista.limit(valor) e a auto end |
#load_async ➤ Objeto
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Agende uma tarefa para carregar documentos para o contexto.
Dependendo da configuração do Mongoid, a tarefa agendada pode ser executada imediatamente na conversa do chamador ou pode ser agendada para uma execução assíncrona.
761 762 763 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 761 def load_async @documents_loader ||= DocumentsLoader.Novo(vista, classe, critério) end |
#map_reduce(mapear, reduzir) ➤ MapReduce
Inicie uma operação de mapeamento/redução a partir do contexto.
312 313 314 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 312 def map_reduce(map, reduzir) Redução de mapa.Novo(collection, critério, map, reduzir) end |
#pick(*fields) ➤ Objeto | Array<Object>
Escolha os valores de campo único no banco de banco de dados.
349 350 351 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 349 def escolher(*Campos) limit(1).raspar(*Campos).primeiro end |
#pluck(*fields) ➤ Array<Object> | Array <Array<Object>>
Arrancar o(s) valor(es) de campo do banco de dados de dados. Retorna um resultado para cada documento encontrado no banco de banco de dados para o contexto. Os resultados são normalizados de acordo com seus tipos de campo Mongoid. Observe que os resultados podem incluir duplicatas e valores nulos.
332 333 334 335 336 337 338 339 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 332 def raspar(*Campos) # Vários campos podem mapear para o mesmo nome de campo . Por exemplo, # colhendo um campo e seu mapa de campo _translations para o mesmo # campo no banco de dados. por isso, precisamos preparar o # projeção especificamente. prep = prepare_pluck(Campos, prepare_projection: true) pluck_from_documents(vista.projeção(prep[:projection]), prep[:field_names]) end |
#segundo ➤ Documento | nada
Obtenha o segundo document no banco de dados para o seletor dos critérios.
612 613 614 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 612 def Segundo retrieve_nth(1) end |
#segundo! ➤ Documento
Obtenha o segundo document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
626 627 628 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 626 def segundo! Segundo || create_document_not_Found_error end |
#segundo_para_último ➤ Documento | nada
Obtenha o penúltimo document no banco de dados para o seletor de critérios.
é encontrado.
710 711 712 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 710 def segundo_to_last retrieve_nth_to_last(1) end |
#segundo_para_último! ➤ Documento
Obtenha o penúltimo document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
724 725 726 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 724 def segundo_to_last! segundo_to_last || create_document_not_Found_error end |
#skip(value) ➤ mongo
Ignora o número fornecido de documentos.
465 466 467 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 465 def ignorar(valor) @view = vista.ignorar(valor) e a auto end |
#sort(values = nil, &block) ⇒ Mongo
Classifica os documentos pela especificação fornecida.
478 479 480 481 482 483 484 485 486 487 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 478 def sort(values = nada, &noum: bloco ; verb: bloquear) se block_given? super(&noum: bloco ; verb: bloquear) mais # atualize os critérios @criteria = critério.order_by(values) apply_option(:sort) auto end end |
#take(limit = nil) ⇒ Document | Array<Document>
Pegue o número fornecido de documentos do banco de dados.
362 363 364 365 366 367 368 369 370 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 362 def levar(limit = nada) se limit limit(limit).to_a mais # Faça to_a primeiro para que o método Mongo#first não seja usado e o # resultado não classificado. limit(1).to_a.primeiro end end |
#take! ⇒ Document
Pegue um documento do banco de dados e gere um erro se não houver nenhum.
381 382 383 384 385 386 387 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 381 def pegue! # Faça to_a primeiro para que o método Mongo#first não seja usado e o # resultado não classificado. aumentar Errors::DocumentNotFound.Novo(classe, nada, nada) a menos que fst = limit(1).to_a.primeiro fst end |
#tally(campo) ➤ Hash
Obtenha um hash de contagens para os valores de um único campo. Por exemplo, se os seguintes documentos estivessem no banco de dados:
{ _id: 1, age: 21 }
{ _id: 2, age: 21 }
{ _id: 3, age: 22 }
Model.tally("age")
daria o seguinte resultado:
{ 21 => 2, 22 => 1 }
Ao contar um campo dentro de uma array ou associação embeds_many:
{ _id: 1, array: [ { x: 1 }, { x: 2 } ] }
{ _id: 2, array: [ { x: 1 }, { x: 2 } ] }
{ _id: 3, array: [ { x: 1 }, { x: 3 } ] }
Model.tally("array.x")
As chaves do hash resultante são arrays:
{ [ 1, 2 ] => 2, [ 1, 3 ] => 1 }
Observe que, se registrar um elemento em uma matriz de hashes e a chave não existir em alguns dos hashes, a contagem não incluirá essas chaves nulas no hash resultante:
{ _id: 1, array: [ { x: 1 }, { x: 2 }, { y: 3 } ] }
Model.tally("array.x")
# => { [ 1, 2 ] => 1 }
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 426 def contagem(Campo) name = classe.Clean_localized_field_names(Campo) fld = classe.traverse_association_tree(name) gasoduto = [ { '$group ' => { _id: "$#{nome}", conta: { '$sum': 1 } } } ] pipeline.unshift('$match' => visualizar.filtro) a menos que seja visualizado.filtro.em branco? coleção.aggregate(pipeline).each_with_object({}) do |doc, registros| is_translation = "#{name}_translations" == campo.to_s valor = doc [ ' _id ' ] chave = se valor. is_a? ( Array ) valid. mapa do | v | demongoize_with_field ( fld, v, is_translation ) end outra demongoize_with_field ( fld, valid, is_translation ) end # O único momento em que uma chave já existirá no hash de registros # é quando os valores são armazenados de forma diferente no banco de dados, mas #mongoize para o mesmo valor. Um bom exemplo de quando isso acontece # é ao usar campos localizados. Embora a consulta do servidor não agrupe # hashes que tenham outros valores em idiomas diferentes, o valor desmongoizado é apenas a tradução na locale atual, # que pode ser o mesmo em vários desses hashes desiguais. talries[key] ||= 0 talries[key] += doc['counts'] end end |
#terceiro ➤ Documento | nada
Obtenha o terceiro document no banco de dados para o seletor dos critérios.
636 637 638 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 636 def terceiro retrieve_nth(2) end |
#terceiro! ➤ Documento
Obtenha o terceiro document no banco de dados para o seletor dos critérios ou gere um erro se nenhum for encontrado.
650 651 652 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 650 def terceiro! terceiro || create_document_not_Found_error end |
#terceiro_to_last ➤ Documento | nada
Obtenha o penúltimo document no banco de dados para o seletor de critérios.
é encontrado.
736 737 738 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 736 def terceiro_to_last retrieve_nth_to_last(2) end |
#terceiro_to_last! ➤ Documento
Obtenha o penúltimo document no banco de dados para o seletor do critério ou gere um erro se nenhum for encontrado.
750 751 752 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 750 def terceiro_to_last! terceiro_to_last || create_document_not_Found_error end |
#atualização(atributos = nil, opts = {}) ➤ nil | false
Atualize o primeiro documento correspondente atomicamente.
501 502 503 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 501 def update(attributes = nada, opciona = {}) update_documents(attributes, :update_one, opciona) end |
#update_all(attributes = nil, opts = {}) ➤ nil | false
Atualize todos os documentos correspondentes atomicamente.
517 518 519 |
# Arquivo 'lib/mongoid/contextual/mongo.rb', linha 517 def update_all(attributes = nada, opciona = {}) update_documents(attributes, :update_many, opciona) end |