我正在创建一个服务,我将使用 MongoDB 作为存储后端。该服务将生成用户输入的哈希,然后查看我们的数据集中是否已经存在相同的哈希(+ 输入)。
哈希将是唯一但随机的(=非增量/顺序),所以我的问题是:
- 对对象 ID 使用随机值是否合法?例子:
$object_id = new MongoId(HEX-OF-96BIT-HASH);
或者 MongoDB 是否会将 ObjectID 与其他服务器生成的对象区别对待,因为“真实”的 ObjectID 还包含时间戳、machine_id 等?
使用“随机”值的优缺点是什么?我想当新的_id不是以任何方式递增时,引擎更新插入索引的统计速度会更慢 - 我对此是否正确?