小编Mar*_*oet的帖子

允许在Firestore中更新特定的嵌套值

我需要让匿名用户能够更新嵌套体系结构中的特定值,而无需对文档的其余部分授予权限.

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

6
推荐指数
1
解决办法
90
查看次数