自带的_id真的太长了,推广的时候参数带上_id真的好难看。想弄个自增id像mysql那样,从1开始自增~~请问怎么实现呢?
m***@qq.com
- 发布:2021-07-06 16:22
- 更新:2023-02-19 11:06
- 阅读:1340
uni-cloud怎么设置自增id?
分类:uniCloud
5 个回复
最佳回复
唐家三少 - 我要写代码
MySQL 等关系型数据库,支持自增id。
但在分布式环境下,尤其是在分库分表以后,单纯的自增主键会产生冲突,需要考虑如何生成唯一 ID。
这一点上,mongodb 预先考虑到并采取措施保证了分布式环境中生成的 id 的唯一性,也就没有支持自增id。
如果业务需求,可通过编程的方案,自己实现一个自增ID,比如mongodb默认以
_id
为主键,你可以再增加一个id
,设置成整型,每次先查询最大值,然后+1设置为新值,从而变相实现自增ID。海棠街大厉害
自带_id确实从各方面讲都是一个更好的选择
如果非要一个int类型的自增id,可以新建一个uni-clientDB-action,在进行数据库操作时候运行一下添加的js脚本,自己创建一个自增的custom_id,考虑硬删除和id碰撞,用_id排序后取id最大的item的custom_id, 1
这样每次新增前需要做一次全表排序操作(可以先筛选优化),然后给待存入数据的custom_id重新赋值
如果有其他好的方式请艾特我
前端JASON - 接单uniapp项目&插件/联系front_jason/主页daxiong.site
没这个必要,_id 相当于哈希字符串,能更好的管理
m***@qq.com (作者)
怎么就没必要了?_id长度20多位,自增id长度也就几位,某些业务场景比如分享到微信推广的时候,参数带自增id肯定更好
2021-07-07 09:11
y***@foxmail.com
请问楼主这个有解决方案吗
我是龙王 - 介绍
我是用时间戳转62进制,这样下来就很短了,也设置成唯一就可以