收藏
回答

教程的安全规则示例get表达式标点符号有误

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

纠结了整整3个小时,才发现

不可以:

  "update": "doc.publisher == auth.openid || get('database.user.${auth.openid}').isManager", // 仅发布者或管理员可以更新

可以:
  "update": "doc.publisher == auth.openid || get(`database.user.${auth.openid}`).isManager", // 仅发布者或管理员可以更新

原因:` 和 ' 不是同一个标点符号!
回答关注问题邀请回答
收藏

2 个回答

  • 吃包子不吐包子皮
    吃包子不吐包子皮
    02-26

    如果要在 get 函数的参数中使用变量, 可以使用反引号 ` ,即字符串模板语法,${xxx} 中的 xxx 为变量,如果是 doc.a 则需要在查询时携带过滤条件 例如 collection.where({a:10})

    如果不使用变量,那么 get 的参数可以是字符串, 用成对的单引号 或者双引号包裹就可以了。

    02-26
    有用
    回复
  • Hanks🇨🇳
    Hanks🇨🇳
    02-03

    仔细很重要

    --↓↓👍点赞是回答的动力哦

    02-03
    有用
    回复
登录 后发表内容
问题标签