Firestore规则中如何验证Map类型字段?无循环支持下的可行方案
Firestore 文档映射字段的验证方案
问题背景
我需要在数据验证场景中用到循环逻辑,业务里的文档符合如下Schema:
interface SomeDoc { // ...其他属性 "prop-with-map": { [key: string]: number }; }
目前无法对SomeDoc["prop-with-map"]字段做验证。业务允许用户创建该文档,但禁止后续更新,所以需要在Firestore规则里完成Schema校验。但Firestore规则不支持循环,也没有内置的Schema检查能力,原本打算用后台云函数来处理。
替代思路
已知SomeDoc["prop-with-map"]中的字段数量不会超过5个,因此可以采用两种方案:
- 直接在Firestore规则中逐个检查每个字段的类型
- 编写JS函数自动生成对应的Firestore规则,实现逐个字段的校验逻辑
内容的提问来源于stack exchange,提问作者Panth
相关产品推荐
相关产品推荐

