firebase firestore检查具有属性和值的文档是否存在

时间:2020-01-10 11:02:32

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

我目前正在尝试在用户在数据库中创建数据(如果存在)之前进行验证。甚至没有其他文档ID。

像这样:用户创建数据,firestore规则获取集合中的所有文档,并检查属性name是否与提供的用户相同。如果是,请返回未经授权的访问。

这时我有:

function checkIfCatExists(){
      return get(/databases/$(database)/documents/category/$(documents)).data.name != null;
    }

但这不起作用。你们有个主意吗?我可以为此创建一个函数,但是我想尽可能多地使用规则。

1 个答案:

答案 0 :(得分:0)

由于安全操作无法扩展,因此无法在集合中搜索特定值。

如果要确保唯一的用户名,则必须创建一个使用用户名作为键的集合。然后,您可以在安全规则中使用exists函数,以检查集合中是否已存在该名称。

另请参阅: