如何检查安全规则中引用中的路径?

时间:2019-06-03 04:35:13

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

我想在创建资源时检查该资源是否具有对用户文档的引用,但是我实际上不需要获取该对象。这可能吗?

我知道我可以打电话给exists()get(),但我只关心路径是正确的(/users/${auth.uid}的路径)。这是给Firestore的。

我想做类似的事情:

allow create: if request.resource.userRef == '/users/${request.auth.uid}'

尽管我知道这是不可能的。

1 个答案:

答案 0 :(得分:1)

我假设您正在尝试检查文档中是否包含用户的count_to作为class count_to(object): def __init__(self, nber): if nber < 0: raise ValueError("count_to argument must be a positive integer") self.nber = nber def __iter__(self): return count_to_iter(self.nber) 字段的值,并且您的用户中存在具有相应uid的用户在保存文档之前进行收集。

在这种情况下,您需要进行2次检查。

1)检查用户是否存在于userRef集合中

2)检查文档的uid字段中的文档是否包含用户的users

uid

希望能解决您的问题。