收藏
回答

小程序端查询数据库,用{openid}不能get到数据?

问题及推测:

小程序端查询数据库,用{openid}不能get数据,怀疑是权限设置里的第一条有问题,描述如下

表现:

如下重现代码,查询出来的数组是空的,用的权限是第一条:所有用户可读,创建者可读写(


1、权限保持不变,把{openid}换成实际的openid填进去查询,是可以查出数据的

2、还是用{openid}查询,把权限改成第二条“仅创建者可读写”,或者自定义权限设为如下,都是可以查出数据的

"read": "doc._openid == auth.openid",

"write": "doc._openid == auth.openid"


综上,怀疑第一条权限设置有问题

最后一次编辑于  2020-01-31
回答关注问题邀请回答
收藏

3 个回答

  • Mr.Zhao
    Mr.Zhao
    2020-01-31
    不是异步的问题吗?
    2020-01-31
    有用 1
    回复 4
    • cupid
      cupid
      2020-01-31
      我之后的验证都去掉了add,纯get,用add只是为了确保一定是本用户创建的数据
      2020-01-31
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-01-31回复cupid
      然后呢,你想表达什么
      2020-01-31
      回复
    • cupid
      cupid
      2020-01-31
      修改问题描述了,没有add那一步,还是查询不出来数据
      2020-01-31
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-01-31回复cupid
      我刚刚试了,在小程序端查不出来,放在云函数里能查的出来
      2020-01-31
      回复
  • 俺不累
    俺不累
    2020-04-15

    这里应该是异步问题,我也遇到类似的情况。我就是不知道你的openID是怎么获取的。我的是用云函数进行获取的。然后定义了全局变量openID,在之后用promise方法then中对openID赋值,将查询语句写在promise之外,不然会产生和你一样的问题(应该是异步问题,具体情况我还没弄清)。

    2020-04-15
    有用
    回复
  • Kermit
    Kermit
    2020-01-31

    异步的问题,用回调或promise吧

    2020-01-31
    有用
    回复
登录 后发表内容
问题标签