通过猫鼬将 mongodb 中的 _id 字符串更改为 base64 编码字符串

change _id string to base64 encoded string in mongodb via mongoose

默认情况下 mongodb 生成一些随机字符串,如 5548087025c7f79259525eff 其类型为 ObjectId。而不是那个随机字符串,我想使用 base64 编码的字符串,这样它总是从 alphabet 开始,因为我想在嵌入式文档上进行 CRUD,根据我的理解,如果 id 从整数开始,这是不可能的。也存储为字符串而不是 ObjectId。如果解决方案使用猫鼬会更好。

我可以像我的情况一样使用 nodejs 将字符串编码为 base64。但我不知道在哪里更改此默认行为...非常感谢

只需在您的架构中定义 _id 属性 并将 type 选项设置为 String。您可以将 default 值设置为生成值的函数,也可以在创建文档时手动设置它。

    _id: { type: String, required: true, index: true, unique: true }