Cloud Firestore规则-通过字段值获取文档

时间:2018-12-11 17:07:22

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

我有两个集合 worktimes submissions 。提交文档具有 uid 字段。 我希望能够在未签名的情况下更新/删除工作时间文档。我想要这样的东西:

match /worktimes/{document=**} {
  allow update, delete: if !isMonthSigned()
} 

在我的 isMonthSigned()中,我要查看提交集合,选择uid等于我的文档,然后访问它的字段值。我如何获得该文件? 到目前为止,我还停留在这里:

get(/databases/$(database)/documents/submissions/{submission})

谢谢!

1 个答案:

答案 0 :(得分:0)

    service cloud.firestore {
      match /databases/{database}/documents {
        function isSignedIn() {
          return request.auth != null;
        }

        function isOwner(userId) {
          return request.auth.uid == userId
        }


        match /submissions/{submission} {
          allow update, delete: if isSignedIn()
            && isOwner(resource.data.userId);
       }

     }
   }