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
368 369 370 371 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 368 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
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.
378 379 380 |
# Archivo 'lib/mongo/protocolo/serializers.rb', línea 378 def sí mismo.¿size_limited? true end |