我需要为Cloud Firestore编写规则。
我希望我的规则允许在集合中创建新文档:
newDoc(field1="value-1",field2="value-2",field3="other-miscellaneous-values")
仅当集合中不存在具有以下条件的其他文档时:
(field1 == "value-1") and (field2 == "value-2")
尽管这不是很复杂,但它似乎仍然太复杂了,以至于在我发现的所有搜索网络的教程中都找不到这个例子。
此外,如果用户愿意,可以自由列出和阅读馆藏中的所有文档。
这是我尝试过的方法,但是不起作用:
service cloud.firestore {
function alreadyExists(document) {
return exists((resource.data.field1==request.resource.data.field1)&&
(resource.data.field2==request.resource.data.field2))
}
match /databases/{database}/documents {
match /My_Collection/{anything=**} {
allow read;
allow write: if !(alreadyExists(request.resource.data));
}
}
}
我希望有人能给我一些建议,以使其正常工作。