Clase: Mongo::BulkWrite
- Hereda:
-
Objeto
- Objeto
- Mongo::BulkWrite
- Ampliado por:
- Reenviable
- Incluye:
- Operación::Gestión de respuestas
- Definido en:
- lib/mongo/bulk_write.rb,
lib/mongo/bulk_write/result.rb,
lib/mongo/bulk_write/combineable.rb,
lib/mongo/bulk_write/validatable.rb,
lib/mongo/bulk_write/transformable.rb,
lib/mongo/bulk_write/result_combiner.rb,
lib/mongo/bulk_write/ordered_combiner.rb,
lib/mongo/bulk_write/unordered_combiner.rb
Definido bajo Namespace
Modules: Combinable, Transformable, Validable Clases: Combinador ordenado, Resultado, Combinador de Resultados, Combinador no ordenado
Resumen de atributos de la instancia colapsar
-
#colección ⇒ Mongo::Collection
Solo lectura
Colección La colección.
-
#options ⇒ Hash, BSON::Document
Solo lectura
Opciones Las opciones.
-
#requests ⇒ arreglo<Hash, BSON::Document>
Solo lectura
Solicitudes Las solicitudes.
Resumen del método de instancia colapsar
-
#execute ⇒ Mongo::BulkWrite::Result
Ejecutar la operación de guardado masivo.
-
#initialize(colección, solicitudes, options = {}) ⇒ BulkWrite
constructor
privado
Crear la nueva operación de escritura masiva.
-
#¿ordenado? ⇒ verdadero, falso
privado
¿La escritura masiva está ordenada?.
-
#write_concern(session = nil) ⇒ WriteConcern
privado
Obtener el nivel de confirmación de escritura (write concern) para la guardar masiva.
Detalles del Constructor
#initialize(colección, solicitudes, opciones = {}) ⇒ BulkWrite
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Crear la nueva operación de escritura masiva.
129 130 131 132 133 134 135 136 |
# Archivo 'lib/mongo/bulk_write.rb', línea 129 def inicializar(Colección, solicitud, = {}) @colección = Colección @solicitudes = solicitud @options = || {} return a menos que @options[:timeout_ms] && @options[:timeout_ms] < 0 propagar ArgumentError, 'Las opciones timeout_ms deben ser un número entero no negativo' end |
Detalles de atributo de instancias
#colección ⇒ Mongo::Collection (solo lectura)
Devuelve la colección La colección.
31 32 33 |
# Archivo 'lib/mongo/bulk_write.rb', línea 31 def Colección @colección end |
#options ⇒ Hash, BSON::Document (solo lectura)
Devuelve opciones Las opciones.
37 38 39 |
# Archivo 'lib/mongo/bulk_write.rb', línea 37 def @options end |
#solicitudes ⇒ Arreglo<Hash, BSON::Documento> (solo lectura)
Devuelve las solicitudes Las solicitudes.
34 35 36 |
# Archivo 'lib/mongo/bulk_write.rb', línea 34 def solicitud @solicitudes end |
Detalles del método de instancia
#ejecutar ⇒ Mongo::BulkWrite::Result
Ejecutar la operación de guardado masivo.
57 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 96 97 98 99 100 101 |
# Archivo 'lib/mongo/bulk_write.rb', línea 57 def ejecutar operation_id = Monitoring.next_operation_id result_combiner = ResultCombiner.Nuevo Operaciones = op_combiner.combinar validate_requests! fecha límite = calculate_deadline Cliente.con_sesión(@options) hacer |sesión| Operaciones.cada hacer |Operación| context = Operación::Context.Nuevo( cliente: Cliente, sesión: sesión, operation_timeouts: operation_timeouts(fecha límite) ) si single_statement?(Operación) write_concern = write_concern(sesión) escribir_con_reintento(write_concern, context: context) hacer |Conexión, txn_num, context| execute_operation( Operación.claves.primero, Operación.values.nivelar, Conexión, context, operation_id, result_combiner, sesión, txn_num ) end else nro_write_with_retry(write_concern, context: context) hacer |Conexión, _txn_num, context| execute_operation( Operación.claves.primero, Operación.values.nivelar, Conexión, context, operation_id, result_combiner, sesión ) end end end end result_combiner.Resultado end |
#¿ordenado? ⇒ true, false
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
¿Está la escritura masiva ordenada?
148 149 150 |
# Archivo 'lib/mongo/bulk_write.rb', línea 148 def ¿ordenado? @ordered ||= .obtener(:ordered, true) end |
#write_concern(session = nil) ⇒ WriteConcern
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtener el nivel de confirmación de escritura (write concern) para la guardar masiva.
162 163 164 165 166 167 168 |
# Archivo 'lib/mongo/bulk_write.rb', línea 162 def write_concern(sesión = nulo) @write_concern ||= si [conformidad_de_lectura] Nivel de confirmación de escritura (write concern).Obtener([conformidad_de_lectura]) else Colección.write_concern_with_session(sesión) end end |