Clase: Mongo::Operation::Insert::BulkResult

Hereda:
Resultado
  • Objeto
Mostrar todo
Incluye:
Agregable
Definido en:
lib/mongo/operación/insertar/resultado_masivo.rb

Overview

Define el comportamiento personalizado de los resultados para una inserción cuando se envía como parte de un guardado masivo.

Desde:

  • 2.0.0

Resumen constante

Constantes heredadas de Resultado

Resultado::CURSOR, Resultado::ID_CURSOR, Resultado::PRIMER_LOTE, Resultado::N, Resultado::NAMESPACE, Resultado::SIGUIENTE_LOTE, Resultado::OK, Resultado::RESULTADO

Resumen de atributos de la instancia colapsar

Atributos heredados de Resultado

#connection, #connection_description, #connection_global_id, #context, #replies

Resumen del método de instancia colapsar

Métodos heredados de Resultado

#¿reconocido?, #base_backoff_ms, #cluster_time, #cursor_id, #documentos, #cada, #error, #inspeccionar, #etiquetas, #espacio_de_nombres, #¿ok?, #tiempo_de_operación, #respuesta, #recuento_devuelto, #marca_de_tiempo_de_instantánea, #¿exitoso?, #versión_de_topología, #¡validar!, #¿error_de_preocupación_de_escritura?, #contador_escrito

Detalles del Constructor

#inicializar(replies, connection_description, connection_global_id, ids) ⇒ BulkResult

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.

Inicializa un nuevo resultado.

Ejemplos:

Instancie el resultado.

Result.new(replies, inserted_ids)

Parámetros:

  • respuestas (Array<Protocol::Message> | nil) —

    Las respuestas del protocolo de conexión, si las hay.

  • connection_description (Servidor::Descripción) —

    Descripción del servidor que realizó la operación para la que se obtuvo este resultado.

  • connection_global_id (Número entero) —

    Id global de la conexión en la que se realizó la operación para la que se obtuvo este resultado.

  • identificadores (arreglo<Object>) —

    Los ids de los documentos insertados.

Desde:

  • 2.0.0



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 49

def inicializar(respuestas, connection_description, connection_global_id, identificadores)
  super(respuestas, connection_description, connection_global_id)
  si respuestas && respuestas.primero && (doc = respuestas.primero.Documentos.primero)
    si (errors = doc['writeErrors'])
      # se insertaron potencialmente algunos documentos
      bad_indices = {}
      errors.map hacer |Error|
        bad_indices[Error['index']] = true
      end
      @inserted_ids = []
      identificadores.each_with_index hacer |ID, index|
        @inserted_ids << ID si bad_indices[index].nil?
      end
    # No sé si fue reconocido. verificación es necesaria aquí,
    # en lo que a mí respecta, no duele
    elsif ¿entendido? && exitoso?
      # Tenemos una respuesta y la respuesta es exitosa y la
      # la respuesta no tiene writeErrors - todo se insertó
      @inserted_ids = identificadores
    else
      # Tenemos una respuesta, pero la respuesta no es exitosa y
      # no tiene errores de escritura: no se insertó nada.
      # Si se inserta algo, la respuesta no será exitosa
      # pero tendrá writeErrors
      @inserted_ids = []
    end
  else
    # No creo que debamos llegar nunca aquí, pero quién sabe,
    # Haz que esto actúe como los controladores antiguos
    @inserted_ids = identificadores
  end
end

Detalles de atributo de instancias

#inserted_ids ⇒ Objeto (solo lectura)

Obtén los ID de los documentos insertados.

Desde:

  • 2.0.0



31
32
33
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 31

def inserted_ids
  @inserted_ids
end

Detalles del método de instancia

#inserted_id ⇒ Object

Obtiene el id del documento insertado.

Ejemplos:

Obtener id del documento insertado.

result.inserted_id

Devuelve:

  • (objeto) —

    El ID del documento insertado.

Desde:

  • 2.0.0



104
105
106
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 104

def inserted_id
  inserted_ids.primero
end

#n_insertado ⇒ Entero

Obtiene el número de documentos insertados.

Ejemplos:

Obtén el número de documentos insertados.

result.n_inserted

Devuelve:

  • (Número entero) —

    El número de documentos insertados.

Desde:

  • 2.0.0



91
92
93
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 91

def n_inserted
  written_count
end