Módulo: Mongo::Protocol::Serializers::Document Privado
- Definido en:
- lib/mongo/protocol/serializers.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.
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 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
384 385 386 387 |
# Archivo 'lib/mongo/protocol/serializers.rb', línea 384 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 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
364 365 366 367 368 369 370 371 372 |
# Archivo 'lib/mongo/protocol/serializers.rb', línea 364 def sí mismo.serializar(buffer, Valor, tamaño máximo de bson = nulo, validating_keys = nulo) tamaño inicial = buffer.longitud Valor.to_bson(buffer) serialized_size = buffer.longitud - tamaño inicial si tamaño máximo de bson && serialized_size > tamaño máximo de 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 end |
.size_limited? ⇒ true
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.
394 395 396 |
# Archivo 'lib/mongo/protocol/serializers.rb', línea 394 def sí mismo.¿size_limited? true end |