收藏
回答

云开发使用云数据库可不可以使用openid作为索引?

我想在一个数据表中使用openid作为索引添加个人信息,但是一直添加不成功,显示操作成功,但数据没有添加上,是不是数据库有问题,求大佬指教

直接将打印出来的openid作为索引也不行

这是结果,操作成功,但数据变化为0

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

5 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-21

    新增记录,或者更新最好使用云函数,因为在小程序端存在权限问题

    如果A用户新增的记录,在小程序端只有用户A可以操作更新成功,其他用户无法修改这条记录


    再者,doc(a),a的值必须是_id的值,其他值请用where({ _openid:'xxxxx'}),可以在 索引管理 添加 _openid 索引,使用where({ _openid:'xxxxx'})查询时会比没有_openid索引快


    当然,你可以将openid 的值存在_id字段上,这样你就可以使用 doc(_openid的值)来查询了

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-21
    有用 4
    回复 1
    • 阿司匹林
      阿司匹林
      2020-05-22
      好的,谢谢您
      2020-05-22
      回复
  • brave
    brave
    2020-05-21

    2020-05-21
    有用 4
    回复 1
    • 阿司匹林
      阿司匹林
      2020-05-22
      好的,谢谢您
      2020-05-22
      回复
  • xplee
    xplee
    发表于小程序端
    2020-05-21
    认真阅读一下文档,参数是自动生成的_id
    2020-05-21
    有用 1
    回复 3
    • 阿司匹林
      阿司匹林
      2020-05-21
      那我想用openid作为索引是不是就没办法了
      2020-05-21
      回复
    • xplee
      xplee
      发表于小程序端
      2020-05-21回复阿司匹林
      我觉得你是不是没有理解索引和主键的区别,db.doc的参数是数据表的主键,也就是自动生成的那个_id,你传个openid(不知道此openid代表的是不是openid)就错了,应该缓存下_id的值,下次更新直接使用,或者根据openid作为查询条件先删除原来的,再添加新的
      2020-05-21
      回复
    • 阿司匹林
      阿司匹林
      2020-05-22回复xplee
      好的,谢谢您
      2020-05-22
      回复
  • 另一种开始
    另一种开始
    2021-03-29

    https://developers.weixin.qq.com/community/minihome/doc/00020ec78cc230a698eb7c4e056000问题同,求解....

    2021-03-29
    有用
    回复
  • 百宝先生
    百宝先生
    2020-05-21

    索引使用云数据库自己提供的就可以呀。没必要非得使用openid

    2020-05-21
    有用
    回复 3
    • 阿司匹林
      阿司匹林
      2020-05-22
      因为我要查询用户自己上传的数据用openid方便不绕弯子
      2020-05-22
      回复
    • 百宝先生
      百宝先生
      2020-05-22回复阿司匹林
      不冲突吧。你用openid走自己的业务。系统生成的id用作增删改查的参数
      2020-05-22
      回复
    • 阿司匹林
      阿司匹林
      2020-05-22回复百宝先生
      那样不如直接openid方便
      2020-05-22
      回复
登录 后发表内容
问题标签