我参与了一个项目,我们使用MongoDB作为主要数据库系统,使用JavaScript/NodeJS作为服务器端。我们需要与外部合作伙伴进行整合。我们的合作伙伴的API需要操作号,操作号必须是唯一的整数值。我们决定使用来自ObjectId的4字节时间戳和3字节随机增量值的组合,但是结果数字太高,并且我们失去了精度。以下是操作过程
var getUniqueIntFromObjectId =
我已经插入了此表单的查询:
on INSERT into abc values .... on DUPLICATE KEY UPDATE ....在我原来没有分区的表中,唯一键在(subject_id, object_id)上,但现在我按ts分区,并且我被迫将唯一键作为(subject_id, object_id, ts),因为mysql要求在所有唯一键中都有分区键这意味着我的insert查询将失败,因为insert具有相同的subj