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", // 仅发布者或管理员可以更新
原因:` 和 ' 不是同一个标点符号!
如果要在 get 函数的参数中使用变量, 可以使用反引号 ` ,即字符串模板语法,${xxx} 中的 xxx 为变量,如果是 doc.a 则需要在查询时携带过滤条件 例如 collection.where({a:10})
如果不使用变量,那么 get 的参数可以是字符串, 用成对的单引号 或者双引号包裹就可以了。
仔细很重要
--↓↓👍点赞是回答的动力哦