Classe: Mongo::Collection
- Herda:
-
Objeto
- Objeto
- Mongo::collection
- Estendido por:
- Encaminhável
- Inclui:
- Auxiliares, QueryableEncryption, Retryable
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/collection.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view.rb,
build/ruby-driver-v2.19/lib/mongo/collection/helpers.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/iterable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/readable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/writable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/immutable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/map_reduce.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/aggregation.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/explainable.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/change_stream.rb,
build/ruby-driver-v2.19/lib/mongo/collection/queryable_encryption.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/builder/map_reduce.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/builder/aggregation.rb,
build/ruby-driver-v2.19/lib/mongo/collection/view/change_stream/retryable.rb
Visão geral
Representa uma collection no banco de banco de dados e operações que podem ser aplicadas diretamente a uma.
Definido sob namespace
Módulos: Auxiliares, Classes de QueryableEncryption : visualização
Colapsode resumo constante
- CApped =
A opção limitada.
'capped'.congelar
- NS =
A constante do campo ns.
'ns'.congelar
- CHANGEABLE_OPTIONS =
Opções que podem ser atualizadas em uma nova instância de Collection por meio do método #with.
[ :read, :read_concern, :write, :write_concern ].congelar
- CREATE_COLLECTION_OPTIONS =
Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.
Mapa de opções para transformar as opções de criação de collection.
{ :time_series => :timeseries, :expire_after => :expireAfterSeconds, :clustered_index => :clusteredIndex, :change_stream_pre_and_post_images => :changeStreamPreAndPostImages, :encrypted_fields => :encryptedFields, :validator => :validator, :view_on => :viewOn }
Constantes incluídas de QueryableEncryption
QueryableEncryption::QE2_MIN_WIRE_VERSION
Recolhimento do Resumo do atributo de instância
-
#database ➤ Mongo::Database
Somente leitura
O banco de dados de dados no qual a collection reside.
-
#name ➤ string
Somente leitura
O nome da collection.
-
#opções ➤ Hash
Somente leitura
As opções de collection.
Recolhimento do Resumo do método de instância
-
#==(outro) ➤ verdadeiro | false
Verifique se uma coleção é igual a outro objeto.
-
#agregado(pipeline, opções = {}) ➤ Visualizar::Aggregation
Realizar uma agregação na collection.
-
#bulk_write(requests, options = {}) ➤ BulkWrite::Result
Execute um lote de operações de gravação em massa.
-
#limitado? ➤ verdadeiro | false
A coleção é limitada?
-
#count(filter = nil, options = {}) ⇒ Inteiro
obsoleto
Obsoleto.
Use #count_documents ou estimated_document_count em vez disso. No entanto, observe que os seguintes operadores precisarão ser substituídos ao mudar para #count_documents:
* $where should be replaced with $expr (only works on 3.6+) * $near should be replaced with $geoWithin with $center * $nearSphere should be replaced with $geoWithin with $centerSphere
-
#count_documents(filter = {}, options = {}) ➤ inteiro
Obtém o número de documentos correspondentes à query.
-
#create(opts = {}) ➤ Resultado
Forçar a criação da collection no banco de banco de dados.
-
#delete_many(filter = nil, options = {}) ➤ Resultado
Remover documentos da coleção.
-
#delete_one(filter = nil, options = {}) ➤ Resultado
Remover um documento da coleção.
-
#distinct(field_name, filter = nil, options = {}) ➤ Array<Object>
Obtenha uma lista de valores distintos para um campo específico .
-
#drop(opts = {}) ➤ Resultado
Solte a coleção.
-
No.
Obtém uma estimativa do número de documentos na collection usando os metadados da collection.
-
#encontrar(filter = nil, opções = {}) ➤ CollectionView
Encontre documentos na coleção.
-
#find_one_and_delete(filter, options = {}) ➤ BSON::Document?
Localiza um único documento no banco de dados via findAndModify e o exclui, devolvendo o documento original.
-
#find_one_and_replace(filtro, substituição, opções = {}) ➤ BSON::Document
Localiza um único documento e o substitui, retornando o documento original, a menos que especificado de outra forma.
-
#find_one_and_update(filter, update, options = {}) ⇒ BSON::Document
Localiza um único documento via findAndModify e o atualiza, retornando o documento original, a menos que especificado de outra forma.
-
#indexes(options = {}) ⇒ Visualizar::Índice
Tenha uma visão de todos os índices dessa collection.
-
#initialize(banco de dados, name, options = {}) ➤ Collection
construtor
Instanciar uma nova collection.
-
#insert_many(documents, options = {}) ⇒ Result
Insira os documentos fornecidos na coleção.
-
#insert_one(documento, opts = {}) ➤ Resultado
Insira um único documento na coleção.
-
#inspecionar ➤ string
Obtenha uma inspeção de string bem impressa para a coleção.
-
#namespace ➤ string
Obtenha o namespace totalmente qualificado da coleção.
-
#parallel_scan(cursor_count, options = {}) ➤ Array<Cursor>
Execute uma verificação paralela na visualização da collection.
-
#read_concern ➤ Hash
Obtenha a preocupação de leitura efetiva para esta instância de coleção.
-
#read_preference ➤ Hash
Obtenha a preferência de leitura efetiva para esta coleção.
-
#replace_one(filtro, substituição, opções = {}) ➤ Resultado
Substitui um único documento na coleção pelo novo documento.
-
#server_selector ➤ Mongo::ServerSelector
Obtenha o seletor de servidor para esta collection.
-
#system_collection? ➤ Booleano
privado
Se a collection é uma collection de sistema.
-
#update_many(filter, update, options = {}) ⇒ Result
Atualizar documentos na coleção.
-
#update_one(filter, update, options = {}) ⇒ Result
Atualizar um único documento na coleção.
-
#watch(pipeline = [], options = {}) ➤ ChangeStream
A partir da versão 3.6 do servidor MongoDB, um estágio de pipeline "$changeStream" é suportado no framework de aggregation.
-
#com(new_options) ➤ Mongo::Collection
Uma nova instância de coleção.
-
#write_concern ➤ Mongo::WriteConcern
Obtenha a preocupação de escrita eficaz nesta coleção.
-
#write_concern_with_session(session) ➤ Mongo::WriteConcern
privado
Obtenha a preocupação de gravação a ser usada para uma operação nessa coleção, dada uma sessão.
Métodos incluídos de auxiliares
Métodos incluídos do QueryableEncryption
# maybe_create_qe_collections, # maybe_drop_emm_collections
Métodos incluídos no Retryable
#read_worker, #select_server, #write_worker
Detalhes do construtor
#initialize(banco de dados, name, options = {}) ➤ Collection
Instanciar uma nova collection.
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 158 def inicializar(database, name, = {}) aumentar Erro::InvalidCollectionName.Novo a menos que name se [:write] && [:write_concern] && [:write] != [:write_concern] aumentar ArgumentError, "Se :write e :write_concern forem fornecidos, eles devem ser idênticos: #{.inspect}" end @database = database @name = name.to_s.congelar @opções = .dup =begin Suporte ao objeto WriteConcern se @options[:write_concern].is_a?(WriteConcern::Base) # Armazene a instância em cache para que não a reconstruamos desnecessariamente. @write_concern = @options[:write_concern] @options[:write_concern] = @write_concern.options end =end @opções.congelar end |
Detalhes do atributo da instância
#database ➤ Mongo::Database (readonly)
Retorna o banco de dados de dados em que a collection reside.
46 47 48 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 46 def database @database end |
#name ➤ string (somente leitura)
Retorna O nome da coleção.
49 50 51 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 49 def name @name end |
#opções ➤ Hash (somente leitura)
Retorna as opções de collection.
52 53 54 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 52 def @opções end |
Detalhes do método de instância
#==(outro) ➤ verdadeiro | false
Verifique se uma coleção é igual a outro objeto. Verificará o nome e o banco de dados de dados quanto à igualdade.
89 90 91 92 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 89 def ==(Outro) Método false a menos que Outro.is_a?(collection) name == Outro.name && database == Outro.database && == Outro. end |
#agregado(pipeline, opções = {}) ➤ Visualizar::Aggregation
Realizar uma agregação na collection.
536 537 538 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 536 def Agregação(gasoduto, = {}) Vista.Novo(auto, {}, ).Agregação(gasoduto, ) end |
#bulk_write(requests, options = {}) ➤ BulkWrite::Result
Execute um lote de operações de gravação em massa.
845 846 847 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 845 def bulk_write(pedidos, = {}) Gravação em massa.Novo(auto, pedidos, ).executar, executar end |
#limitado? ➤ verdadeiro | false
A collection é limitada?
316 317 318 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 316 def limitado? database.read_command(:collstats => name).documentos[0][CApped] end |
#count(filter = nil, options = {}) ⇒ Inteiro
Use #count_documents ou estimated_document_count em vez disso. No entanto, observe que os seguintes operadores precisarão ser substituídos ao mudar para #count_documents:
* $where should be replaced with $expr (only works on 3.6+)
* $near should be replaced with $geoWithin with $center
* $nearSphere should be replaced with $geoWithin with $centerSphere
Obtém um número estimado de documentos correspondentes na collection.
640 641 642 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 640 def contar(filtro, filtro = nada, = {}) Vista.Novo(auto, filtro, filtro || {}, ).contar() end |
#count_documents(filter = {}, options = {}) ➤ inteiro
Obtém o número de documentos correspondentes à query. Ao contrário do método #count obsoleto, isso retornará o número exato de documentos que correspondem ao filtro (ou o número exato de documentos na coleção, se nenhum filtro for fornecido) em vez de uma estimativa.
Use #estimated_document_count para recuperar uma estimativa do número de documentos na coleção usando os metadados da coleção.
670 671 672 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 670 def count_documents(filtro, filtro = {}, = {}) Vista.Novo(auto, filtro, filtro, ).count_documents() end |
#create(opts = {}) ➤ Resultado
Forçar a criação da collection no banco de banco de dados.
373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 373 def criar(opciona = {}) # Passar opções de leitura para criar um comando faz com que ele seja interrompido. # Filtre as opções de leitura. A sessão também é excluída aqui, pois fica # usado pela chamada para with_session e não deve fazer parte do # operação. Se for passado para a operação, falhará BSON # serialização. # TODO coloca a lista de opções de leitura em uma constante de nível de classe quando # descobrirmos qual é o conjunto completo deles. = Hash[auto..mesclar(opciona).rejeitar fazer |chave, valor| %w(ler read_preference read_concern session).incluir?(chave.to_s) end] # Convertendo opções Ruby para estilo de servidor . CREATE_COLLECTION_OPTIONS.cada fazer |ruby_key, server_key| se .chave?(ruby_key) [server_key] = .excluir(ruby_key) end end operação = { :create => name }.mesclar() operação.excluir(:write) operação.excluir(:write_concern) Cliente.enviar(:with_session, opciona) fazer |session| write_concern = se opciona[:write_concern] Escreva preocupação.obter(opciona[:write_concern]) mais auto.write_concern end Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session) talvez_create_qe_collections(opciona[:encrypted_fields], Cliente, session) fazer |campos_criptografados| (operação)::criar.Novo( seletor: operação, db_name: database.name, write_concern: write_concern, sessão: session, # Observe que essas são opções de collection e o agrupamento não é # retirado das opções passadas para o método de criação. agrupamento: [:collation] || ['agrupamento'], encryption_fields: campos_criptografados, validator: [:validator], ).executar, executar(próximo_primary(nada, session), contexto: Contexto) end end end |
#delete_many(filter = nil, options = {}) ➤ Resultado
Remover documentos da coleção.
889 890 891 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 889 def delete_many(filtro, filtro = nada, = {}) find(filtro, filtro, ).delete_many() end |
#delete_one(filter = nil, options = {}) ➤ Resultado
Remover um documento da coleção.
867 868 869 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 867 def delete_one(filtro, filtro = nada, = {}) find(filtro, filtro, ).delete_one() end |
#distinct(field_name, filter = nil, options = {}) ➤ Array<Object>
Obtenha uma lista de valores distintos para um campo específico .
712 713 714 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 712 def distinto(field_name, filtro, filtro = nada, = {}) Vista.Novo(auto, filtro, filtro || {}, ).distinto(field_name, ) end |
#drop(opts = {}) ➤ Resultado
Um erro retornado se a coleção não existir será suprimido.
Solte a coleção. Também eliminará todos os índices associados à coleção, bem como as coleções de Queryable Encryption associadas.
435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 435 def derrubar(opciona = {}) Cliente.enviar(:with_session, opciona) fazer |session| talvez_drop_emm_coleções(opciona[:encrypted_fields], Cliente, session) fazer temp_write_concern = write_concern write_concern = se opciona[:write_concern] Escreva preocupação.obter(opciona[:write_concern]) mais temp_write_concern end Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session) operação = (operação)::descartar.Novo({ seletor: { :drop => name }, db_name: database.name, write_concern: write_concern, sessão: session, }) do_drop(operação, session, Contexto) end end end |
No.
Obtém uma estimativa do número de documentos na collection usando os metadados da collection.
Use #count_documents para recuperar o número exato de documentos na coleta ou para contar documentos correspondentes a um filtro.
691 692 693 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 691 def estimated_document_count( = {}) Vista.Novo(auto, {}, ).estimated_document_count() end |
#encontrar(filter = nil, opções = {}) ➤ CollectionView
Encontre documentos na coleção.
501 502 503 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 501 def find(filtro, filtro = nada, = {}) Vista.Novo(auto, filtro, filtro || {}, ) end |
#find_one_and_delete(filter, options = {}) ➤ BSON::Document?
Localiza um único documento no banco de dados via findAndModify e o exclui, devolvendo o documento original.
1027 1028 1029 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 1027 def find_one_and_delete(filtro, filtro, = {}) find(filtro, filtro, ).find_one_and_delete() end |
#find_one_and_replace(filtro, substituição, opções = {}) ➤ BSON::Document
Localiza um único documento e o substitui, retornando o documento original, a menos que especificado de outra forma.
1105 1106 1107 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 1105 def find_one_and_replace(filtro, filtro, substituição, = {}) find(filtro, filtro, ).find_one_and_update(substituição, ) end |
#find_one_and_update(filter, update, options = {}) ➤ BSON::Document
Localiza um único documento via findAndModify e o atualiza, retornando o documento original, a menos que especificado de outra forma.
1067 1068 1069 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 1067 def find_one_and_update(filtro, filtro, update, = {}) find(filtro, filtro, ).find_one_and_update(update, ) end |
#indexes(options = {}) ⇒ View::Index
Tenha uma visão de todos os índices dessa collection. Pode ser iterado ou tem mais operações.
729 730 731 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 729 def Índices( = {}) Index::Vista.Novo(auto, ) end |
#insert_many(documents, options = {}) ⇒ Result
Insira os documentos fornecidos na coleção.
817 818 819 820 821 822 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 817 def insert_many(documentos, = {}) Cache de consulta.clear_namespace(namespace) Inserções = documentos.map{ |doc| { :insert_one => doc }} bulk_write(Inserções, ) end |
#insert_one(documento, opts = {}) ➤ Resultado
Insira um único documento na coleção.
764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 764 def insert_one(documento, opciona = {}) Cache de consulta.clear_namespace(namespace) Cliente.enviar(:with_session, opciona) fazer |session| write_concern = se opciona[:write_concern] Escreva preocupação.obter(opciona[:write_concern]) mais write_concern_with_session(session) end se documento.nada? aumentar ArgumentError, "O documento a ser inserido não pode ser nulo" end Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session) write_with_retry(write_concern, contexto: Contexto) fazer |Conexão, txn_num, Contexto| (operação)::Insert.Novo( :documents => [ documento ], :db_name => database.name, :coll_name => name, :write_concern => write_concern, :bypass_document_validation => !!opciona[:bypass_document_validation], :opções => opciona, :id_generator => Cliente.[:id_generator], :session => session, :txn_num => txn_num, :comentário => opciona[:comentário] ).execute_with_connection(Conexão, contexto: Contexto) end end end |
#inspecionar ➤ string
Obtenha uma inspeção de string bem impressa para a coleção.
741 742 743 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 741 def inspecionar "#<Mongo::Collection:0x#{object_id} namespace=#{namespace}>" end |
#namespace ➤ string
Obtenha o namespace totalmente qualificado da coleção.
1117 1118 1119 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 1117 def namespace "#{banco de dados.name}.#{name}" end |
#parallel_scan(cursor_count, options = {}) ➤ Array<Cursor>
Execute uma verificação paralela na visualização da collection.
Retorna uma lista de até cursor_count cursores que podem ser iterados simultaneamente. Desde que a coleção não seja modificada durante a digitalização, cada documento aparece uma vez em um dos conjuntos de resultados dos cursores.
912 913 914 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 912 def parallel_scan(cursor_count, = {}) find({}, ).enviar(:parallel_scan, cursor_count, ) end |
#read_concern ➤ Hash
Obtenha a preocupação de leitura efetiva para esta instância de coleção.
Se uma read concern for fornecida nas opções de collection, essa read concern será retornada, caso contrário, a read concern efetiva do banco de dados será retornada.
188 189 190 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 188 def read_concern [:read_concern] || database.read_concern end |
#read_preference ➤ Hash
Obtenha a preferência de leitura efetiva para esta coleção.
Se uma preferência de leitura foi fornecida nas opções de coleta, essa preferência de leitura será retornada, caso contrário, a preferência de leitura efetiva do banco de dados será retornada.
216 217 218 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 216 def read_preference @read_preference ||= [:read] || database.read_preference end |
#replace_one(filtro, substituição, opções = {}) ➤ Resultado
Substitui um único documento na coleção pelo novo documento.
939 940 941 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 939 def replace_one(filtro, filtro, substituição, = {}) find(filtro, filtro, ).replace_one(substituição, ) end |
#server_selector ➤ Mongo::ServerSelector
Obtenha o seletor de servidor para esta collection.
200 201 202 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 200 def server_selector @server_selector ||= ServerSelector.obter(read_preference || database.server_selector) end |
#system_collection? ➤ Booleano
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.
Se a collection é uma collection de sistema.
1126 1127 1128 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 1126 def system_collection? name.start_with?('.') end |
#update_many(filter, update, options = {}) ⇒ Result
Atualizar documentos na coleção.
968 969 970 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 968 def update_many(filtro, filtro, update, = {}) find(filtro, filtro, ).update_many(update, ) end |
#update_one(filter, update, options = {}) ⇒ Result
Atualizar um único documento na coleção.
997 998 999 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 997 def update_one(filtro, filtro, update, = {}) find(filtro, filtro, ).update_one(update, ) end |
#watch(pipeline = [], options = {}) ➤ ChangeStream
Um change stream permite apenas a preocupação de leitura de "maioria".
Este método auxiliar é preferível a executar uma agregação bruta com um estágio $changeStream, com a finalidade de apoiar a capacidade de retomada.
A partir da versão 3.6 do servidor MongoDB, um estágio de pipeline "$changeStream" é suportado no framework de aggregation. Este estágio permite que os usuários solicitem o envio de notificações para todas as alterações em uma coleção específica.
607 608 609 610 611 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 607 def assistir(gasoduto = [], = {}) = .dup [:await_data] = true se [:max_await_time_ms] Vista::Change stream.Novo(Vista.Novo(auto, {}, ), gasoduto, nada, ) end |
#com(new_options) ➤ Mongo::Collection
Retorna Uma nova instância de coleção.
294 295 296 297 298 299 300 301 302 303 304 305 306 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 294 def com() .keys.cada fazer |k| aumentar Erro::UnchangeableCollectionOption.Novo(k) a menos que CHANGEABLE_OPTIONS.incluir?(k) end = @opções.dup se [:write] && [:write_concern] .excluir(:write) end se [:write_concern] && [:write] .excluir(:write_concern) end collection.Novo(database, name, .update()) end |
#write_concern ➤ Mongo::WriteConcern
Obtenha a preocupação de escrita eficaz nesta coleção.
Se uma write concern for fornecida nas opções de collection, essa write concern será retornada, caso contrário, a write concern efetiva do banco de dados será retornada.
232 233 234 235 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 232 def write_concern @write_concern ||= Escreva preocupação.obter( [:write_concern] || [:write] || database.write_concern) end |
#write_concern_with_session(session) ➤ Mongo::WriteConcern
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.
Obtenha a preocupação de gravação a ser usada para uma operação nessa coleção, dada uma sessão.
Se a sessão estiver em uma transação e a collection tiver uma write concern não reconhecida, remova a opção :w da write concern. Caso contrário, retorne a write concern inalterada.
248 249 250 251 252 253 254 255 256 257 258 |
# File 'build/ruby-driver-v2.19/lib/mongo/collection.rb', linha 248 def write_concern_with_session(session) wc = write_concern se session && session.in_transaction? se wc && !wc.reconhecido? opciona = wc..dup opciona.excluir(:w) Método Escreva preocupação.obter(opciona) end end wc end |