Firebase 规则云Firestore
我想知道是否有可能跨集合设置规则。 可能是通过混合使用Firebase 规则云Firestore,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我想知道是否有可能跨集合设置规则。 可能是通过混合使用exists()和get() 我的收藏是这样的: - BusinessOwners | |_ autoID ___ businessID: String |_ userID: String | |_ autoID ___ businessID: String |_ userID: String 我想(用我的话)核实一下: 存在
exists()
和get()
我的收藏
是这样的:
- BusinessOwners
|
|_ autoID ___ businessID: String
|_ userID: String
|
|_ autoID ___ businessID: String
|_ userID: String
我想(用我的话)核实一下:
业务所有者中的文档
userID==request.auth.uid
和&businessID==IDspecified
function isOwnerOfTheBusiness(IDspecified){
return ???;
}
match /userresults/{docID} {
allow write, read: if isOwnerOfTheBusiness(request.resource.data.businessID);
}
我可以这样做吗?如果是,如何执行?这与您描述的不完全一样,因为您无法在安全规则中执行查询。除正在访问的文档外,您可以访问其他文档的唯一方法是知道完整路径,包括文档ID。如果知道路径,您可以使用该路径使用
get()
和exists()
。但您无法查询带有条件的集合。完全正确。我自己也尝试过,但get()函数中不允许使用通配符。首先我真的不敢相信,所以我仔细检查了一下。我认为这样的规则太费时了。看起来,如果他真的想在安全规则级别上解决这个问题,他需要进行一些重构。