收藏
回答

云数据库_id过长,怎么设置自增id?

问题描述:

_id 过长,在生成二维码等场景下,scene长度有限制,导致其余参数空间很小。

【最常见的场景是获取分享者的唯一标识】

所以想给用户设置自增的id,但云数据库不自带这个功能,改如何配置自增id,或者有其他更好的解决方案吗?

求助~~

ps:看过去的帖子,官方对云开发方面的回复寥寥无几

回答关注问题邀请回答
收藏

3 个回答

  • 七叶
    七叶
    2020-03-13

    也可以参考下面的方式自己生成ID:

    // 基于base62编码生成14位的ID字符串
    // 优点:短/按时间序/双击可全选/唯一性足够安全
    function getId() {
      var ret = ''
      var ms = (new Date()).getTime()
      ret += base62encode(ms, 8) // 6923年循环一次
      ret += base62encode(Math.ceil(Math.random() * (62**6)), 6) // 冲突概率为每毫秒568亿分之一
      return ret
    }
    let codeStr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    function base62encode(v, n){
      var ret = ""
      for(var i=0;i<n;i++){
        ret = codeStr[v%codeStr.length] + ret
        v = Math.floor(v/codeStr.length)
      }
      return ret
    }
    
    2020-03-13
    有用 2
    回复
  • ieloag
    ieloag
    2019-08-31
    都不支持int类型的_id,更不谈自增了。。反应过这类问题都没人理。。 自增你就自己新建个字段设为int类型和_id写一样的数字,只是一个是int类型,一个是string。然后order by取最大值,后端手动自增
    2019-08-31
    有用 1
    回复 8
    • 光
      2019-09-02
      好~感谢回复~
      2019-09-02
      回复
    • 光
      2019-09-02
      我想加一个config的集合,里面加一条含字段idCount为0的记录(document),每次创建新用户的时候取idCount+1为新用户id,把idCount也+1
      2019-09-02
      回复
    • 光
      2019-09-02
      想简单了 好像只能通过_id和collection.doc获取记录的引用 我捋捋先
      2019-09-02
      回复
    • 光
      2019-09-02
      是这样,应该可以,用where查询uid用户doc数据,根据数据_id可以获取用户信息doc的引用
      2019-09-02
      回复
    • 邓坤力
      邓坤力
      2019-09-16
      int 类型 id 已支持
      2019-09-16
      回复
    查看更多(3)
  • z_oct.2
    z_oct.2
    2019-09-21

    呐,字段自增,https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/database/command.inc.html

    2019-09-21
    有用
    回复 4
    • 光
      2019-09-23
      这个是相对自身原来的值增加吧,自增id的话是相对于集合里存在过的最大id增加1
      2019-09-23
      回复
    • z_oct.2
      z_oct.2
      2019-09-23回复
      哦,懂你的意思,自定义自增id目前不支持,前两天看过文章说是官方云开发数据库本身限制的。
      2019-09-23
      回复
    • 光
      2019-09-23回复z_oct.2
      诶 楼上官方同学说支持int类型id了 不知道咋用就是了~
      2019-09-23
      回复
    • z_oct.2
      z_oct.2
      2019-09-23回复
      唉,摸鱼,摸鱼...
      2019-09-23
      回复
登录 后发表内容
问题标签