嵌套的Firestore安全规则-get()

时间:2018-10-07 09:30:18

标签: google-cloud-firestore firebase-security-rules

有人知道我是否可以创建嵌套的“获取”规则来访问数据库中的不同数据吗?又如何?

// Assignment's document
match /assignments/{assignmentId} {
    function getAssignmentOwner(){
        return get(/databases/$(database)/documents/assignments/$(assignmentId)).data.owner;
    }
    function getAgencySupervisors(){
        return get(/databases/$(database)/documents/agencies/$(getAssignmentOwner())).data.supervisors;
    }

    allow write: if request.auth.uid in getAgencySupervisors();
    allow read: if request.auth != null;
}

当前它返回“不允许”。

1 个答案:

答案 0 :(得分:0)

规则不是数据过滤器;您应该仅对集合,文档或子集合使用规则,而不能对文档内部的结果进行过滤。

文档:https://firebase.google.com/docs/firestore/security/rules-structure