我有以下规则:
-> Requests
-> documentID
-> name: Andrey Solera
-> email: someemail@example.com
-> userID: 1234ID
-> resolved: pending => (can also be accepted or rejected)
我希望能够将新文档推入Requests
节点,并且仅当发送请求的人的userID
没有< / strong>尚未添加请求。
我知道我可以将userID
用作documentID
,但是,如果用户提出了被拒绝的请求,可以使用{{1 }}作为userID
,据我所知,不可能有历史。
是否可以使用Firestore安全规则检查嵌套对象?
答案 0 :(得分:1)
安全规则可以检查特定路径下是否存在文档。但是,他们无法查询是否存在符合其他条件的文档。
因此,如果在子集合中有一个以用户的UID作为其ID的文档,则可以在规则中使用exists()
call进行检查。