即使firestore安全规则中的文档字段不可用,也如何允许访问?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使firestore安全规则中的文档字段不可用,也如何允许访问?相关的知识,希望对你有一定的参考价值。
因此,我在用户文档中添加了一个名为numberOfFollowers
的新字段,因此,新用户将拥有此字段,但是旧用户则没有此numberOfFollowers
字段。
在安全规则中,我想将numberOfFollowers
设置为数字。如果旧用户没有此字段,则仍然允许更新其文档。
所以我设置了这样的安全规则
match /users/{userID} {
allow update: if isValidUserStructure(request.resource.data)
}
function isValidUserStructure(user) {
return (user.numberOfFollowers is number || user.numberOfFollowers == null)
&& user.banned is bool
&& user.contactNumber is string
&& user.createdAt is timestamp
&& user.domicile is string
&& user.email is string
}
但是由于此行(user.numberOfFollowers is number || user.numberOfFollowers == null)
,对于没有此字段的旧用户,访问总是被拒绝。>
因此,我在用户文档中添加了一个名为numberOfFollowers的新字段,因此全新用户将拥有此字段,但是旧用户则没有此numberOfFollowers字段。在安全规则中,我想设置...
答案
要检查某个文档中是否没有字段,您应该使用已记录的Map操作来检查密钥的存在,以检查作为in
类型对象的数据对象:
以上是关于即使firestore安全规则中的文档字段不可用,也如何允许访问?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?
如何检查传入号码数据是否大于或小于Firestore安全规则中的特定限制?