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
-
.deserialize(buffer, options = {}) ⇒ Hash
privado
Deserializa un documento desde el flujo de IO.
-
.serialize(buffer, value, max_bson_size = nil, _validating_keys = nil) ⇒ String
privado
Serializa un documento en el buffer.
-
.size_limited? ⇒ true
privado
Si puede haber un límite de tamaño en este tipo después de la serialización.
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
366 367 368 369 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 366 def sí mismo.deserializar(buffer, = {}) moda = [: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
346 347 348 349 350 351 352 353 354 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 346 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.
376 377 378 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 376 def sí mismo.¿size_limited? true end |