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::CURSOR_ID, Resultado::PRIMER_LOTE, Resultado::N, Resultado::ESPACIO_DE_NOMBRES, 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 Result

#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(respuestas, descripción de la conexión, id global de la conexión, ids) ⇒ BulkResult

Este método forma parte de una API privada. Debe evitarlo 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)

    El protocolo de cable responde, si hay alguna.

  • 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)

    Identificador global de la conexión en la que se realizó la operación para la que corresponde este resultado.

  • identificaciones (arreglo<Object>)

    Los ids de los documentos insertados.

Desde:

  • 2.0.0



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
83
84
85
86
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 51

def inicializar(respuestas, connection_description, connection_global_id, identificaciones)
  @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']
      #Algunos documentos fueron potencialmente insertados
      malos_índices = {}
      errors.map hacer |Error|
        malos_índices[Error['index']] = true
      end
      @inserted_ids = []
      identificaciones.cada_con_índice hacer |ID, index|
        si malos_índices[index].nil?
          @inserted_ids << ID
        end
      end
    # No sé si fue reconocido. verificación es necesaria aquí,
    # Por lo que puedo decir, 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 = identificaciones
    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á errores de escritura
      @inserted_ids = []
    end
  else
    # No creo que lleguemos nunca a este punto, pero quién sabe,
    # Haz que esto actúe como los controladores antiguos
    @inserted_ids = identificaciones
  end
end

Detalles de los atributos de instancia

#inserted_idsObjeto (solo lectura)

Obtén los ID de los documentos insertados.

Desde:

  • 2.0.0



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

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



110
111
112
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 110

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



97
98
99
# Archivo 'lib/mongo/operation/insert/bulk_result.rb', línea 97

def n_inserted
  written_count
end