我想知道是否可以跨馆藏设置规则。
也许通过混合exists()
和get()
来实现?
我的Collection
就像这样:
- BusinessOwners
|
|_ autoID ___ businessID: String
|_ userID: String
|
|_ autoID ___ businessID: String
|_ userID: String
我想检查一下:
- 存在在
Document
中的BusinessOwners
- 使用
userID == request.auth.uid
&&businessID == IDspecified
我的匹配部分是:
function isOwnerOfTheBusiness(IDspecified){
return ???;
}
match /userresults/{docID} {
allow write, read: if isOwnerOfTheBusiness(request.resource.data.businessID);
}
我可以这样做吗?如果是,怎么办?
答案 0 :(得分:1)
这不可能完全按照您的描述进行,因为您无法在安全规则中执行查询。您可以访问除被访问文件之外的其他文件的唯一方法是知道完整路径,包括文件ID。如果知道路径,则可以在该路径上使用get()
和exists()
。但是,您只是无法查询带有条件的集合。