我目前正在尝试在用户在数据库中创建数据(如果存在)之前进行验证。甚至没有其他文档ID。
像这样:用户创建数据,firestore规则获取集合中的所有文档,并检查属性name
是否与提供的用户相同。如果是,请返回未经授权的访问。
这时我有:
function checkIfCatExists(){
return get(/databases/$(database)/documents/category/$(documents)).data.name != null;
}
但这不起作用。你们有个主意吗?我可以为此创建一个函数,但是我想尽可能多地使用规则。
答案 0 :(得分:0)
由于安全操作无法扩展,因此无法在集合中搜索特定值。
如果要确保唯一的用户名,则必须创建一个使用用户名作为键的集合。然后,您可以在安全规则中使用exists
函数,以检查集合中是否已存在该名称。
另请参阅: