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

#acknowledged?, #cluster_time, #cursor_id, #documentos, #each, #error, #has_cursor_id?, #inspect, #labels, #namespace, #ok?, #operation_time, #reply, #returned_count, #snapshot_timestamp, #exitoso?, #topology_version, #validate!, #write_concern_error?, #written_count

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
81
82
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 49

def inicializar(respuestas, connection_description, connection_global_id, identificadores)
  @replies = [ *respuestas ] si respuestas
  Este es el campo utilizado para describir la información enviada por los usuarios. = connection_description
  @connection_global_id = 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_idsObjeto (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_idObject

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



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

def inserted_id
  inserted_ids.primero
end

#n_insertadoEntero

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



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

def n_inserted
  written_count
end