Clase: Mongo::Operación::Insertar::Resultado masivo

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 de una inserción cuando se envía como parte de una escritura masiva.

Desde:

  • 2.0.0

Resumen constante

Constantes heredadas de Result

Resultado::CURSOR, Resultado::CURSOR_ID, Resultado::PRIMER_LOTE, Resultado::N, Resultado::ESPACIO_DE_NOMBRES, Resultado::SIGUIENTE_LOTE, Resultado::OK, Resultado::RESULTADO

Colapso delresumen de atributos de instancia

Atributos heredados de Result

#conexión, #descripción_de_conexión, #id_global_de_conexión, #contexto, #respuestas

Colapso del resumen del método de instancia

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.

Inicializar un nuevo resultado.

Ejemplos:

Instanciar el resultado.

Result.new(replies, inserted_ids)

Parámetros:

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

    El protocolo de cable responde, si hay alguna.

  • descripción de la conexión (Servidor::Descripción)

    Descripción del servidor que realizó la operación a la que corresponde este resultado.

  • id_global_de_conexión (Entero)

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

  • identificaciones (Matriz<Object>)

    Los identificadores 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, descripción de la conexión, id_global_de_conexión, identificaciones)
  @replies = [*respuestas] Si respuestas
  @descripción_de_conexión = descripción de la conexión
  @conexión_global_id = id_global_de_conexión
  Si respuestas && respuestas.primera && (doc = respuestas.primera.Documentos.primera)
    Si errors = doc['errores de escritura']
      #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 se reconoce, ¿marcar aquí es necesario?
    # Por lo que puedo decir, no duele.
    elsif ¿admitido? && ¿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 y la respuesta no es exitosa y
      # no tiene errores de escritura: no se insertó nada.
      # Si se insertó 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)

Obtener los identificadores de los documentos insertados.

Desde:

  • 2.0.0



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

def identificadores insertados
  @inserted_ids
end

Detalles del método de instancia

#inserted_idObject

Obtiene el id del documento insertado.

Ejemplos:

Obtener el 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
  identificadores insertados.primera
end

#n_insertadoEntero

Obtiene el número de documentos insertados.

Ejemplos:

Obtén el número de documentos insertados.

result.n_inserted

Devuelve:

  • (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_insertado
  recuento_escrito
end