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

Definido en:
lib/mongo/protocol/serializers.rb

Overview

Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.

Estrategia de serialización del protocolo de conexión MongoDB para un Documento BSON.

Serializa y deserializa un solo documento.

Resumen del método de clase colapsar

Detalles del método de clase

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

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.

Deserializa un documento desde el flujo de E/S

Parámetros:

  • buffer (string)

    Búfer que contiene el documento codificado en BSON.

  • opciones (encriptada) (por defecto a: {})

Opciones Hash (options):

  • :deserialize_as_bson (booleano)

    Si realizar la deserialización de la sección utilizando BSON types en lugar de tipos nativos de Ruby siempre que sea posible.

Devuelve:

  • (encriptada)

    El documento BSON decodificado.



368
369
370
371
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 368

def sí mismo.deserializar(buffer, opciones = {})
  moda = opciones[:deserialize_as_bson] ? bson : nulo
  BSON::Documento.from_bson(buffer, moda: moda)
end

.serialize(buffer, value, max_bson_size = nil, _validating_keys = nil) ⇒ String

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.

Serializa un documento en el búfer

Parámetros:

  • buffer (string)

    Buffer para recibir el documento codificado en BSON.

  • Valor (encriptada)

    Documento para serializar como BSON.

Devuelve:

  • (string)

    Búfer con valor serializado.

Aumenta:



348
349
350
351
352
353
354
355
356
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 348

def sí mismo.serializar(buffer, Valor, tamaño_máximo_bson = nulo, _validating_keys = nulo)
  tamaño inicial = buffer.longitud
  Valor.to_bson(buffer)
  serialized_size = buffer.longitud - tamaño inicial
  return a menos que tamaño_máximo_bson && serialized_size > tamaño_máximo_bson

  propagar Error::MaxBSONSize,
        "El documento supera el tamaño máximo de objeto BSON permitido después de la serialización. Tamaño serializado: #{serialized_size} bytes, tamaño máximo permitido: #{max_bson_size} bytes"
end

.size_limited?true

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.

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

Devuelve:

  • (cierto)

    Los documentos pueden tener un tamaño limitado durante la serialización.

Desde:

  • 2.0.0



378
379
380
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 378

def sí mismo.¿size_limited?
  true
end