模块:Mongo::Protocol::Serializers::Document Private
- 定义于:
- build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb
Overview
该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。
BSON文档的MongoDB传输协议序列化策略。
对单个文档进行序列化和反序列化。
类方法摘要折叠
-
。 deserialize (buffer, options = {}) ⇒ 哈希
private
从 IO流中反序列化文档。
-
。序列化(缓冲区, 值, max_bson_size = nil, validating_keys = nil) ⇒ string
private
将文档序列化到缓冲区中。
-
。 size_limited? ⇒ true
private
序列化后是否对此类型有大小限制。
类方法详细信息
。 deserialize (buffer, options = {}) ⇒哈希
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
从 IO流反序列化文档
384 385 386 387 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第384行 def self.反序列化(缓冲, = {}) 模式 = [:deserialize_as_bson] ? :bson : nil BSON::文档.from_bson(缓冲, **{ 模式: 模式 }) end |
。序列化(缓冲区, 值, max_bson_size = nil, validating_keys = nil) ⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将文档序列化到缓冲区
364 365 366 367 368 369 370 371 372 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第364行 def self.序列化(缓冲, 值, max_bson_size = nil, validating_keys = nil) start_size = 缓冲.长度 值.to_bson(缓冲) Serialized_size = 缓冲.长度 - start_size if max_bson_size && Serialized_size > max_bson_size 提高 错误::MaxBSONSize, "序列化后,文档超过了允许的最大BSON对象大小。序列化大小: #{ serialized_size }字节,最大允许大小: #{ max_bson_size }字节" end end |
。 size_limited? ⇒ true
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
序列化后是否对此类型有大小限制。
394 395 396 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/protocol/serializers.rb', 第394行 def self.size_limited? true end |