2

BSON::ObjectId.id.data配列が何を表しているのか興味がありますか?

例えば[77, 145, 20, 13, 225, 96, 124, 5, 31, 0, 0, 1]

4

1 に答える 1

5

BSON::ObjectId.id.dataobjectIdの12バイトを表します。
各バイトの正確な意味は次のとおりです。

0123   456     78   9 10 11
 ^^     ^^     ^^     ^^
time  machine  pid    inc

BSON ObjectIDは、4バイトのタイムスタンプ(エポックからの秒数)、3バイトのマシンID、2バイトのプロセスID、および3バイトのカウンターで構成される12バイトの値です。タイムスタンプとカウンターのフィールドは、他のBSONとは異なり、ビッグエンディアンで保存する必要があることに注意してください。これは、それらがバイトごとに比較され、ほとんど増加する順序を保証したいためです。

ObjectIdドキュメント

于 2011-03-30T07:56:37.190 に答える