收藏
回答

通过自定义collection的安全规则,允许管理员去更新其他人的记录, 实现不了

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信iOS客户端 wx1aea3d766c6be775 neibo-prod-3gl7a4j728130d01 8.0.24

https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/database/security-rules.html

自定义了一个云数据库的collection安全规则,以实现让管理员可以更新其他人创建的记录。

{
  "read": true,
  "create": true,
  "delete": "auth.openid == doc._openid",
  "update": "auth.openid == doc._openid || auth.openid in get(`database.resident.${doc.residentId}`).manager"
}


小程序端的语句

这里提示更新记录为0,这个也是可以想通,是where 条件没有匹配上,但是我看文档里是可以实现的,请问是我哪里弄错了么?

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

1 个回答

  • 跨商通
    跨商通
    2022-08-14

    1、红字这行删掉试试。

    2022-08-14
    有用
    回复 6
    • Lucas
      Lucas
      2022-08-14
      谢谢, 那个是我截图时加的,源代码里是没有的
      2022-08-14
      回复
    • 跨商通
      跨商通
      2022-08-14回复Lucas
      查一下subject,resident,text这三项是否和表里现在数据相同,如果相同,update也是0
      2022-08-14
      回复
    • Lucas
      Lucas
      2022-08-14回复跨商通
      截图135行,这个openid不是作为一个where条件进去的吗? 那怎样能匹配到其他人create的记录呢,匹配不上也就update不了吧
      2022-08-14
      回复
    • 跨商通
      跨商通
      2022-08-14回复Lucas
      先不管你的规则的正确与否。小程序端没有管理员角色。管理员指云函数中。
      2022-08-14
      回复
    • Lucas
      Lucas
      2022-08-14回复跨商通
      意思就是,在小程序端,我是无论如何都改不了其他人create的记录,对吧? 及时我用了自定义安全规则
      2022-08-14
      回复
    查看更多(1)
登录 后发表内容