【发布时间】:2020-01-10 11:02:32
【问题描述】:
我目前正在尝试在用户在数据库中创建数据之前验证数据是否存在。甚至在另一个文档 ID 下。
像这样:用户创建数据,firestore 规则获取集合中的所有文档并检查属性 name 是否与用户提供的相同。如果是,则返回未经授权的访问。
此时我有:
function checkIfCatExists(){
return get(/databases/$(database)/documents/category/$(documents)).data.name != null;
}
但这不起作用。你们有什么想法吗?我可以为此创建一个函数,但我想尽可能多地使用规则。
【问题讨论】:
-
您能更详细地解释一下您的用例吗?根据您当前的解释,我得出以下结论:这似乎非常昂贵,对于每次写入,您都会为检索到的每个文档付费。如果 NAME 是唯一的,那么您可以使用唯一标识符命名文档。你可以通过 CREATE / UPDATE 解决你的访问权限。
标签: firebase google-cloud-firestore firebase-security