{ "read": true, "write": "auth.openid == doc._openid || auth.openid in get('database.seller.${doc._id}').worker", }
这是我配置的安全规则
这是我在数据库中保存的openid信息
db.collection('seller').where({
_id: '21ded5cb5ff88422044c0eb27162b0dc'
}).update({
data: {
ifOpening: true
}
}).then(res => {
console.log(res)
}).catch(err => {
console.log(err)
})
为什么用下面这个查询会报权限的错误呢
write 规则,
auth.openid == doc._openid 因为查询条件中无openid 所以校验失败
auth.openid in get('database.seller.${doc._id}').worker 使用了变量动态查询, get 的部分应该是 get(`database.seller.${doc._id}`), 注意使用反引号