Firestore安全规则-嵌套文档



我想用firebase安全规则限制对组数据的访问。

每个用户都有一个userId,并且可以在多个组中。

同一组中的所有参与者都应该能够对所有参与者的组进行更改。

例如,应该允许用户Wrrhks98BUSLLoGfnUswt2FE57s对用户CCD_ 3 的组文档CCD_

总体结构:

collection (groups) 
--> Document (userId) 
--> Collection (userId) 
--> Document(groupId)

示例:

collection (groups) 
--> Document (2B0ABrxKXzr9UdmCP8TuMgqrtBI3) 
--> Collection (2B0ABrxKXzr9UdmCP8TuMgqrtBI3) 
--> Document(-JrwbcP1OdmjUWxTWHJk)
--> Document(-Mrwtjko3dmjUWxTWHJl)
--> Document(-LrwbcPtujdqcWxTWHJe)
--> Document (Wrrhks98BUSLLoGfnUswt2FE57s) 
--> Collection (Wrrhks98BUSLLoGfnUswt2FE57s) 
--> Document(-JrwbcP1OdmjUWxTWHJk)

我试过了,但不起作用:

match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/groupId)
}

我找到了解决方案:-(

简单地说:

match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/$(resource.data.id))
}

最新更新