我需要让匿名用户能够更新嵌套体系结构中的特定值,而无需对文档的其余部分授予权限.
events
是一个顶级集合,我更新我的文档是这样的
update(`events/${event.id}`, {
[`boardgames.${boardgameId}.votes.${uid}`]: true,
})
Run Code Online (Sandbox Code Playgroud)
我试过这个解决方案
allow update: if ((request.writeFields.size() == 1) && ('boardgames' in request.writeFields));
Run Code Online (Sandbox Code Playgroud)
如这里提到但它失败了(两个半部也独立失败).
我错过了什么?当'进入'嵌套对象时,我不会只更新一个字段吗?
能够console.log request
和它是非常有帮助的request.writeFields
.
注意,理想情况下我只想允许修改最深的属性,当前用户的uid
内部votes
.
javascript firebase-security google-cloud-firestore firebase-security-rules