如何在允许用户创建之前检查文档所有者?步骤:
1.文档已由同一所有者创建。
1.之后,同一个所有者将尝试在文档中创建属性和值。document.owner
发布时出错。
//only allow create in moviesCommentID/{document} when document is owned by the user
match /moviesCommentID/{document=**} {
allow create: if request.auth != null && document.owner == request.auth.uid;
}
任何帮助都将不胜感激。
2条答案
按热度按时间sz81bmfz1#
1-创建
您需要在要更改的
Firestore
文档中有一个存储所有者uid的字段2-更新:
使用与“create”相同的方法(所有者实际上是登录的人),但还要添加一些内容,说明他们不能将所有者更改为其他用户
请注意,
request.resource
变量包含文档的未来状态jslywgbw2#
规则中的
document
变量是一个字符串,其值为文档ID。Firestore没有任何内置的文档所有者的概念。但是如果文档数据中有一个
owner
字段,你可以在规则中以resource.data.owner
的形式访问它。还可以查看Firebase文档中关于安全规则中数据验证的内容。