【发布时间】:2018-10-25 06:56:30
【问题描述】:
Firebase RTDB 的 newData.hasChildren(['name', 'age', 'gender']) 在 Firestore 中的等效方式是什么?如何限制子/字段?
更新: 我已使用 Firestore 规则更新了我的问题并详细解释了我的问题。
match /{country} {
allow read: if true;
allow create: if isAdministrator()
&& incomingData().countryCode is string
&& incomingData().dialCode is string;
allow update: if (isAdministrator() || isAdminEditor())
&& incomingData().countryCode is string
&& incomingData().dialCode is string;
allow delete: if isAdministrator();
}
create、read 和 delete 正在按预期工作。但是,如果我尝试使用 Hashmap 对任何未提及的孩子进行更新,它将更新而不会引发任何异常,这与 Firebase 数据库规则不同,我们在 newData.hasChildren([]) 中提到了所有可能的孩子。
【问题讨论】:
-
您的更新规则似乎根本没有检查写入的数据。究竟是什么规则没有按您预期的方式工作?
-
@DougStevenson 我已经更新了我的
update规则。现在,如果我尝试使用未提及的孩子进行更新,例如“countryAliasName”或其他内容,它将更新而不会引发任何异常。如何避免这种情况? -
什么是
incomingData()? -
@DougStevenson 我的错,对不起。
icomingData()是request.resource.data。
标签: firebase google-cloud-firestore firebase-security