Classe: Mongo::BulkWrite
- Herda:
-
Objeto
- Objeto
- Mongo::BulkWrite
- Estendido por:
- Encaminhável
- Inclui:
- Operação::ResponseHandling
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/bulk_write.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/result.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/combineable.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/validatable.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/transformable.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/result_combiner.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/ordered_combiner.rb,
build/ruby-driver-v2.19/lib/mongo/bulk_write/unordered_combiner.rb
Definido sob namespace
Módulos: Classes Combineable, Transformable, Validable : OrderedCombiner, Result, ResultCombiner, UnorderedCombiner
Recolhimento do Resumo do atributo de instância
-
#collection ➤ Mongo::Collection
Somente leitura
Collection A collection.
-
#options ⇒ Hash, BSON::Document
Somente leitura
Opções As opções.
-
#requests ➤ Array<Hash, BSON::Document>
Somente leitura
Solicitações As solicitações.
Recolhimento do Resumo do método de instância
-
#execute ➤ Mongo::BulkWrite::Result
Execute a operação de escrita em massa.
-
#initialize(collection, requests, opções = {}) ➤ BulkWrite
construtor
privado
Crie a nova operação de escrita em massa.
-
# fez opedido? ➤ verdadeiro, falso
privado
A gravação em massa está ordenada?
-
#write_concern(session = nil) ➤ WriteConcern
privado
Obtenha a preocupação de gravação para a escrita em massa.
Detalhes do construtor
#initialize(collection, requests, opções = {}) ➤ BulkWrite
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.
Crie a nova operação de escrita em massa.
123 124 125 126 127 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 123 def inicializar(collection, pedidos, = {}) @collection = collection @requests = pedidos @opções = || {} end |
Detalhes do atributo da instância
#collection ➤ Mongo::Collection (readonly)
Retorna a collection A collection.
32 33 34 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 32 def collection @collection end |
#options ➤ Hash, BSON::Document (somente leitura)
Retorna as opções As opções.
38 39 40 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 38 def @opções end |
#requests ➤ Array<Hash, BSON::Document> (somente leitura)
Retorna solicitações As solicitações.
35 36 37 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 35 def pedidos @requests end |
Detalhes do método de instância
#execute ➤ Mongo::BulkWrite::Result
Execute a operação de escrita em massa.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 58 def executar, executar operation_id = Monitoramento.Next_operation_id result_combiner = ResultCombiner.Novo operations = op_combiner.combinar validate_requests! Cliente.enviar(:with_session, @opções) fazer |session| Contexto = (operação)::Contexto.Novo(cliente: Cliente, sessão: session) operations.cada fazer |operação| se declaração única?(operação) write_concern = write_concern(session) write_with_retry(write_concern, contexto: Contexto) fazer |Conexão, txn_num, Contexto| execute_operation( operação.keys.primeiro, operação.values.achatar, Conexão, Contexto, operation_id, result_combiner, session, txn_num) end mais nro_write_with_retry(write_concern, contexto: Contexto) fazer |Conexão, txn_num, Contexto| execute_operation( operação.keys.primeiro, operação.values.achatar, Conexão, Contexto, operation_id, result_combiner, session) end end end end result_combiner.Resultado end |
# fez opedido? ➤ true, false
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.
A escrita em massa está ordenada?
139 140 141 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 139 def ordenado? @ordered ||= .buscar(:ordered, true) end |
#write_concern(session = nil) ➤ 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 para a escrita em massa.
153 154 155 156 157 |
# File 'build/ruby-driver-v2.19/lib/mongo/bulk_write.rb', linha 153 def write_concern(session = nada) @write_concern ||= [:write_concern] ? Escreva preocupação.obter([:write_concern]) : collection.write_concern_with_session(session) end |