在Firestore中,我有一个集合“form1”
在客户端应用程序中,当我在不存在的集合中创建文档时,请输入“form2”db.collection("form2").addDocument(data: data)...
我从Firestore控制台看到,“form2”是自动创建来保存新文档的。我希望addDocument()
在这种情况下会返回错误。
如何使用安全规则?还是使用其他方法?
以下是我目前的安全规则:
rules_version = '12';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} { // only logged-in user can access
allow read, write: if request.auth.uid != null;
}
}
}
为什么不能跟随?(即使根集合存在权限也不足)
service cloud.firestore {
match /databases/{database}/documents {
match /{collection} {
allow read, write: if false;
}
match /{collection}/{document} {
allow read, write: if exists(/databases/$(database)/documents/$(collection));
}
}
}
1条答案
按热度按时间sqxo8psd1#
默认情况下,您可以禁止写入所有文档,然后编写规则以仅允许您决定的文档:
这将不允许写入除admin以外的任何集合或文档