モジュール: 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 ドキュメント。



384
385
386
387
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、384 行

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

シリアル化(バッファ、値、 string = nil、validation_keys = nil)============================================

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

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

パラメーター:

  • バッファ ( string )

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

  • 価値 ハッシュ

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

次の値を返します。

  • ( string )

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



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

デフォルト 自己.直列化(バッファ, 価値, max_bson_size = nil, validation_keys = nil)
  start_size = バッファ.Length
  価値.to_bson(バッファ)
  Serial_size = バッファ.Length - start_size
  場合 max_bson_size & & Serial_size > max_bson_size
    発生 エラー::MaxBSONSize,
      " 直列化後にドキュメントが許可される最大 BSON オブジェクト サイズを超えてい ます 。直列化サイズ: # { serial_size } } バイト、最大許可サイズ: #{ max_bson_size } バイト
  end
end

size_制限されますか? = true

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

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

次の値を返します。

  • ( true )

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

以来

  • 2.0.0



394
395
396
# ファイル 'lib/mongo/プロトコル/serializers.rb' は、394 行

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