Rules Cloud Firestore

问题描述 投票:0回答:1

我想知道是否可以跨馆藏制定规则。也许通过混合exists()get()吗?

我的Collection就是这样:

- BusinessOwners
      |
      |_ autoID ___ businessID: String
                 |_ userID: String
      |
      |_ autoID ___ businessID: String
                 |_ userID: String

我想(用我的话检查):

  1. Exists Document中的BusinessOwners
  2. 使用userID == request.auth.uid && businessID == IDspecified

我的匹配项将是:

function isOwnerOfTheBusiness(IDspecified){
    return ???;
}

match /userresults/{docID} {
        allow write, read: if isOwnerOfTheBusiness(request.resource.data.businessID);
}

我可以这样做吗?如果是,如何?

firebase google-cloud-firestore firebase-security-rules
1个回答
0
投票

这不可能完全按照您的描述进行,因为您无法在安全规则中执行查询。您可以访问除被访问文件之外的其他文件的唯一方法是知道完整路径,包括文件ID。如果知道路径,则可以在该路径上使用get()exists()。但是,您只是无法使用条件查询集合。

© www.soinside.com 2019 - 2024. All rights reserved.