我正在使用Firestore安全规则来强制用户可以保存到Firestore中的数据类型。例如,我想将一个文档的field1
,field2
,field3
限制为仅字符串,而将条目限制为仅字母。我有上面的代码:
function string_check() {
let string_keys = ["age_preference", "native_language", "native_location", "displayed_name", "language_level", "learning_language"];
let string_rule = "[a-zA-Z]*";
if (request.resource.data.keys().hasAny(string_keys)) {
return true if the field containing one of string_keys matches string_rule
}
}
我正在尝试构建一个函数,如果request.resource.data
中的任何字段包含string_keys
中的任何字段,那么我检查该字段是否满足regrex规则。如果允许,则允许写入,不允许,然后阻止写入。我不太确定该如何实施。据我了解,Firestore安全规则不允许循环或foreach。