将样例文档中的规则,应用到我自己数据库的表,提示规则有误。
规则:
{
"read": "true",
"delete": "get(`database.user.${id}`).isManager"
}
ERROR:Database Modify Security Rule Error:, Error: InvalidParameter, rule invalid (d94caf1f-7a8c-485c-a473-b81ecbd87fa0)
框架类型 | 问题类型 | 终端类型 | AppID | 环境ID | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | 工具 | wx84112fe3799abc6d | production-2z0an | 2.10.2 |
1 个回答
又发现官方doc中的一个示例的问题,做了2个修改能够成功了:
1.将get中的'改为`
2.需要判断isManager==true
原示例: { "read": true, // 公有读 "create": "doc.publisher == auth.openid", // 都可以发文章,但对数据一致性校验,要求 publisher 为发布者 openid "update": "doc.publisher == auth.openid || get('database.user.${auth.openid}').isManager", // 仅发布者或管理员可以更新 "delete": "doc.publisher == auth.openid || get('database.user.${auth.openid}').isManager", // 仅发布者或管理员可以删除 } 修改后: { "read": true, "write": "get(`database.user.${auth.openid}`).isManager == true", }