モジュール: Mongo::プロトコル::Serializer::Document Private

定義:
lib/mongo/プロトコル/serializers.rb

Overview

このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。

BSON ドキュメント向けの MongoDB ワイヤプロトコル直列化戦略です。

1 つのドキュメントをシリアル化および逆シリアル化します。

クラスメソッドの概要を折りたたむ

クラスメソッドの詳細

逆シリアル化(バッファ、オプション = {}) =ハッシュ

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

IO ストリームからドキュメントを逆シリアル化

パラメーター:

  • バッファ ( string )

    BSON でエンコードされたドキュメントを含むバッファ。

  • options ハッシュ (デフォルトは{}です)

オプション ハッシュ( options ):

  • :deserialize_as_bson ブール値

    BSON typesRuby可能な場合は、ネイティブ 型ではなく を使用してセクション逆シリアル化を実行するかどうか。

次の値を返します。

  • ハッシュ

    デコードされた BSON ドキュメント。



368
369
370
371
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、368 行

デフォルト 自己.逆シリアル化(バッファ, options = {})
  モード = options[:deserialize_as_bson] ? :bson : nil
  BSON::ドキュメント.from_bson(バッファ, モード: モード)
end

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

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

ドキュメントをバッファに直列化する

パラメーター:

  • バッファ ( string )

    BSON でエンコードされたドキュメントを受信するためのバッファ。

  • 価値 ハッシュ

    BSON としてシリアル化するドキュメント。

次の値を返します。

  • ( string )

    シリアル化された値を持つバッファ。

次の値が発生します。



348
349
350
351
352
353
354
355
356
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、348 行

デフォルト 自己.直列化(バッファ, 価値, max_bson_size = nil, _validation_keys = nil)
  start_size = バッファ.Length
  価値.to_bson(バッファ)
  Serial_size = バッファ.Length - start_size
  return ただし、 max_bson_size & & Serial_size > max_bson_size

  発生 エラー::MaxBSONSize,
        " 直列化後にドキュメントが許可される最大 BSON オブジェクト サイズを超えてい ます 。直列化サイズ: # { serial_size } } バイト、最大許可サイズ: #{ max_bson_size } バイト
end

size_制限されますか? = true

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

直列化後にこのタイプにサイズ制限を設定するかどうか。

次の値を返します。

  • ( true )

    ドキュメントは直列化時にサイズ制限できます。

以来

  • 2.0.0



378
379
380
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、378 行

デフォルト 自己.size_制限されますか?
  true
end