Clase: Mongo::BulkWrite
- Hereda:
-
Objeto
- Objeto
- Mongo::Escritura masiva
- Ampliado por:
- Reenviable
- Incluye:
- Operación::Manejo 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 en el espacio de nombres
Modules: Clases combinables, transformables y validables: OrderedCombiner, Result, ResultCombiner, UnorderedCombiner
Colapso delresumen de atributos de instancia
-
#colección ⇒ Mongo::Colección
solo lectura
Colección La colección.
-
#options ⇒ Hash, BSON::Document
solo lectura
Opciones Las opciones.
-
#solicitudes ⇒ Array<Hash, BSON::Document>
solo lectura
Solicitudes Las solicitudes.
Colapso del resumen del método de instancia
-
#ejecutar ⇒ Mongo::BulkWrite::Result
Ejecutar la operación de escritura masiva.
-
#inicializar(colección, solicitudes, opciones = {}) ⇒ BulkWrite
constructor
privada
Cree la nueva operación de escritura masiva.
-
#ordenado? ⇒ verdadero, falso
privada
¿Está ordenada la escritura masiva?
-
#write_concern(sesión = nula) ⇒ WriteConcern
privada
Obtenga la preocupación de escritura para la escritura masiva.
Detalles del constructor
#inicializar(colección, solicitudes, opciones = {}) ⇒ BulkWrite
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Cree la nueva operación de escritura masiva.
128 129 130 131 132 133 134 135 |
# Archivo 'lib/mongo/bulk_write.rb', línea 128 def inicializar(Colección, solicitudes, = {}) @recopilación = Colección @solicitudes = solicitudes @opciones = || {} Si @opciones[:tiempo de espera_ms] && @opciones[:tiempo de espera_ms] < 0 propagar ArgumentError, "Lasopciones timeout_ms deben ser un número entero nonegativo" end end |
Detalles de los atributos de instancia
#colección ⇒ Mongo::Collection (solo lectura)
Devuelve la colección La colección.
32 33 34 |
# Archivo 'lib/mongo/bulk_write.rb', línea 32 def Colección @recopilación end |
#opciones ⇒ Hash, BSON::Documento (solo lectura)
Devuelve opciones Las opciones.
38 39 40 |
# Archivo 'lib/mongo/bulk_write.rb', línea 38 def @opciones end |
#solicitudes ⇒ Array<Hash, BSON::Document> (solo lectura)
Devuelve solicitudes Las solicitudes.
35 36 37 |
# Archivo 'lib/mongo/bulk_write.rb', línea 35 def solicitudes @solicitudes end |
Detalles del método de instancia
#ejecutar ⇒ Mongo::BulkWrite::Result
Ejecutar la operación de escritura masiva.
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 |
# Archivo 'lib/mongo/bulk_write.rb', línea 58 def ejecutar operation_id = Monitoring.id_de_próxima_operación combinador de resultados = Combinador de resultados.Nuevo Operaciones = op_combiner.combinar validate_requests! fecha tope = calcular_fecha_límite Cliente.con_sesión(@opciones) hacer |sesión| Operaciones.cada hacer |operación| context = Operación::Context.Nuevo( cliente: Cliente, sesión: sesión, tiempos de espera de operación: { tiempo de espera de operación_ms: tiempo de espera de operación_ms(fecha tope) } ) Si ¿declaración_única?(operación) escribir_preocupación = escribir_preocupación(sesión) escribir_con_reintentar(escribir_preocupación, context: context) hacer |conexión, txn_num, context| ejecutar_operación( operación.claves.primera, operación.values.aplanar, conexión, context, operation_id, combinador de resultados, sesión, txn_num) end else nro_write_with_retry(escribir_preocupación, context: context) hacer |conexión, txn_num, context| ejecutar_operación( operación.claves.primera, operación.values.aplanar, conexión, context, operation_id, combinador de resultados, sesión) end end end end combinador de resultados.resultado end |
#¿ordenado? ⇒ true, false
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
¿Está ordenada la escritura masiva?
147 148 149 |
# Archivo 'lib/mongo/bulk_write.rb', línea 147 def ¿ordenado? @ordenado ||= .Fetch(:ordered, true) end |
#write_concern(session = nil) ⇒ WriteConcern
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Obtenga la preocupación de escritura para la escritura masiva.
161 162 163 164 165 |
# Archivo 'lib/mongo/bulk_write.rb', línea 161 def escribir_preocupación(sesión = nulo) @write_concern ||= [:escribir_preocupación] ? Escribir preocupación.Obtener([:escribir_preocupación]) : Colección.escribir_preocupación_con_la_sesión(sesión) end |