我想通过像这样操作 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
...