Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

BinData()

項目一覧

  • 定義
  • 互換性
  • 動作

バイナリ・データ・オブジェクトを作成します。

BinData の構文は次のとおりです。

BinData(<sub_type>,<buffer>)
Parameter
タイプ
説明
sub_type
integer
バイナリ サブタイプ
buffer
string
バイナリ データを含むバッファ オブジェクト。 基本64でエンコードされたstring値である必要があります。
次の値を返します。バイナリ データ オブジェクト。

sub_typeには次のいずれかの値を指定します。

番号
説明
0
汎用バイナリのサブタイプ
1
関数データ
2
バイナリ(旧)
3
UUID(旧)
4
UUID
5
MD5
6
暗号化された BSON 値
7

圧縮された時系列データ

バージョン 5.2 で追加

8
キーやシークレットなどの機密データ。 MongoDB では、サブタイプ 8 のバイナリ データのリテラル値はログに記録されません。代わりに、MongoDB は###のプレースホルダー値をログに記録します。
9
ベクトルデータとは、同じ型の数値が高密度に圧縮された配列です。
128
カスタム データ

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

システムのエンディアン性は、マシンのアーキテクチャによって異なります。 BSON データ内の数値は常にリトルエンディアンとして保存されます。システムがビッグエンディアンの場合、数値データはビッグエンディアンとリトルエンディアンの間で変換されます。

ビットテスト マッチ式演算子のコンテキストでは、次のようになります。

BinData値は ビットマスク として機能 と は、任意の長さの符号なしのリトルエンディアン数であるかのように解釈されます。アドレス指定可能な最小バイトは、常に最下位バイトとして解釈されます。 同様に、 BinData内の最上位バイトは、常に最上位バイトとして解釈されます。

BinData() コンストラクターを使って bdata 変数を作成します。

var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")

オブジェクトを testbin コレクションに挿入します。

db.testbin.insertOne( { _id : 1, bin_data: bdata } )

挿入されたドキュメントの testbin コレクションをクエリします。

db.testbin.find()

コレクションに格納されたバイナリ buffer を見ることができます。

{
_id: 1,
bin_data: Binary(Buffer.from("81fd547317474c9d8743f10642b3bb99", "hex"), 0)
}

BinData() コンストラクターを使って bdata 変数を作成します。

var bdata = BinData(0, "gf1UcxdHTJ2HQ/EGQrO7mQ==")

.length() を使用して、オブジェクトのビット長を返します。

bdata.length()

戻り値は次のとおりです。

16

戻る

Binary.createFromHexString