次のように machineId を操作して ObjectId をハックしたいと思います。
<timestamp> <machineId> <processId> <inc>
UserId XXXXXXXX XXXX01 XXXX XXXXXX
OrderId XXXXXXXX XXXX02 XXXX XXXXXX
CardId XXXXXXXX XXXX03 XXXX XXXXXX
...
基本的な考え方は、1 バイトの machineId を使用してオブジェクト タイプを区別することです。私の質問は、そうするときに問題はありますか (一意性とシャーディングを考慮して)?
--- 12月9日更新 ---
仕様と実装の違いにより、bson Java 実装が 4 バイトの inc フィールドを使用するのはなぜですか? 、ソリューションを次のスタイルに少し変更します。
<timestamp> <machineId> <processId> <inc>
UserId XXXXXXXX XXXX XXXX 01XXXXXX
OrderId XXXXXXXX XXXX XXXX 02XXXXXX
CardId XXXXXXXX XXXX XXXX 03XXXXXX
...