修改mongodb ID策略

Modify mongodb ID policy

本文关键字:策略 ID mongodb 修改      更新时间:2023-10-16

我正在写一个注册系统。根据设备功能,要求用户id有16个字节。此外,我知道mongo为插入的每个对象创建了ObjectID,至少在集合中是唯一的。这个id有12个字节长。我想知道-是否有可能在mongo的某个地方改变配置,使其生成16字节的id?我想用4个零字节填充12个字节的id,这是一个解决方案,但我认为这是蛮力。有没有更好的办法?

没有服务器端配置来改变objectid的格式,但是您可以在应用程序中提供自己想要的任何_id。对于插入,驱动程序在插入的后台为您本地生成_id;服务器只在upsert操作时生成

只要您不依赖于upsert,最好的方法是生成您自己的_id字段。对于16字节,您可以使用UUID生成器,例如。