扫码关注官方订阅号
用mongodb存储素材
每个素材都有素材编号
但是mongoId太长不能作为素材编号
如何自定义mongoId呢?
认证0级讲师
如上面各位所说,每个document必须有一个全局唯一的_id,能够保证全局唯一的东西通常都会比较长。但是为什么太长不能作为素材编号?考虑到使用不方便,还是其他什么原因?
MongoDB默认会为每个document生成一个 _id 属性,作为默认主键,且默认值为ObjectId,可以更改 _id 的值(可为空字符串),但每个document必须拥有 _id 属性。如果你不想使用默认的主键你需要插入自己的主键名和值(自行管理、维护),例如:userId: 20140600001。
你可以自己定义一个字段来存素材编号,把它当主键用,或者你可以每次插入的时候自己将_id的值写成你的素材编号。不让mongodb自己生成。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
如上面各位所说,每个document必须有一个全局唯一的_id,能够保证全局唯一的东西通常都会比较长。但是为什么太长不能作为素材编号?考虑到使用不方便,还是其他什么原因?
MongoDB默认会为每个document生成一个 _id 属性,作为默认主键,且默认值为ObjectId,可以更改 _id 的值(可为空字符串),但每个document必须拥有 _id 属性。如果你不想使用默认的主键你需要插入自己的主键名和值(自行管理、维护),例如:userId: 20140600001。
你可以自己定义一个字段来存素材编号,把它当主键用,或者你可以每次插入的时候自己将_id的值写成你的素材编号。不让mongodb自己生成。