Módulo: Mongo::Protocol::Serializers::Document Privado

Definido en:
lib/mongo/protocolo/serializadores.rb

Overview

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Estrategia de serialización del protocolo de cable MongoDB para un documento BSON.

Serializa y deserializa un solo documento.

Colapso delresumen del método de clase

Detalles del método de clase

.deserializar(buffer,opciones = {}) ⇒ Hash

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Deserializa un documento del flujo de E/S

Parámetros:

  • buffer (Cadena) -

    Búfer que contiene el documento codificado BSON.

  • opciones (Hash) (predeterminado: {})

Opciones Hash(opciones):

  • :deserializar_como_bson (Booleano)

    Si se debe realizar la deserialización de secciones utilizando tipos BSON en lugar de tipos nativos de Ruby siempre que sea posible.

Devuelve:

  • (Hash)

    El documento BSON decodificado.



384
385
386
387
# Archivo 'lib/mongo/protocol/serializers.rb', línea 384

def yo.deserializar(buffer, opciones = {})
  moda = opciones[:deserializar_como_bson] ? :bson : nulo
  BSON::Documento.de_bson(buffer, **{ modo: moda })
end

.serializar(buffer, valor, tamaño_máximo_bson = nulo, claves_de_validación = nulo) ⇒ Cadena

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Serializa un documento en el buffer

Parámetros:

  • buffer (Cadena) -

    Buffer para recibir el documento codificado BSON.

  • valor (Hash)

    Documento a serializar como BSON.

Devuelve:

  • (Cadena) -

    Buffer con valor serializado.



364
365
366
367
368
369
370
371
372
# Archivo 'lib/mongo/protocol/serializers.rb', línea 364

def yo.fabricar en serie(buffer, valor, tamaño máximo de bson = nulo, validando_claves = nulo)
  tamaño inicial = buffer.longitud
  valor.a_bson(buffer)
  tamaño serializado = buffer.longitud - tamaño inicial
  Si tamaño máximo de bson && tamaño serializado > tamaño máximo de bson
    propagar Error::Tamaño máximo de BSON,
      "Eldocumento excede el tamaño máximo permitido del objeto BSON después de la serialización. Tamaño serializado: #{serialized_size} bytes, tamaño máximo permitido: #{max_bson_size} bytes"
  end
end

.tamaño_limitado?verdadero

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Si puede haber un límite de tamaño en este tipo después de la serialización.

Devuelve:

  • (verdadero) -

    Los documentos pueden tener un tamaño limitado al momento de la serialización.

Desde:

  • 2.0.0



394
395
396
# Archivo 'lib/mongo/protocol/serializers.rb', línea 394

def yo.¿size_limited?
  true
end