17

MongoDB シェルは、バイナリ データを Base64 でエンコードされた文字列として出力し、関数呼び出しのように見えます。

"_id" : BinData(0,"e8MEnzZoFyMmD7WSHdNrFJyEk8M=")

「0」はどういう意味ですか?

4

3 に答える 3

19

http://docs.mongodb.org/manual/reference/mongodb-extended-json/#binary

BSON の BinData データ型は、シェルのクラス BinData を介して表されます。詳細については実行help miscしてください。

> new BinData(2, "1234")
BinData(2,"1234")

シェルから

help misc
b = new BinData(subtype,base64str)  create a BSON BinData value

あなたの0場合はBSONサブタイプです

http://bsonspec.org/#/仕様

binary  ::=   int32 subtype (byte*)   Binary - The int32 is the number of bytes in the (byte*).
subtype ::=   "\x00"  Generic binary subtype
  |   "\x01"  Function
  |   "\x02"  Binary (Old)
  |   "\x03"  UUID (Old)
  |   "\x04"  UUID
  |   "\x05"  MD5
  |   "\x80"  User defined

このスレッドの同様の質問

http://groups.google.com/group/mongodb-dev/browse_thread/thread/1965aa234aa3ef1e

于 2012-02-18T06:09:14.733 に答える
1

それらはBSONサブタイプに対応している思います:

サブタイプ ::= "\x00" バイナリ/ジェネリック | "\x01" 関数 | "\x02" バイナリ (古い) | "\x03" UUID | "\x05" MD5 | "\x80" ユーザー定義

それを見ると、0ほとんどの場合、それが有効な選択であるように見えます。

于 2012-02-18T06:09:12.643 に答える