首页 > 解决方案 > arrayContains 查询的 Firestore 安全规则

问题描述

我有一个基本搜索功能的动态查询,它使用 arrayContains 来显示结果;

FirebaseFirestore.instance
.collection('colName')
.where('arrayFieldName', arrayContains: 'somestring')
.snapshots'

是否可以设置一个 Firestore 安全规则来检查 arrayContains 中使用的字符串('somestring')是否至少有 3 个字符?

谢谢,

标签: flutterdartgoogle-cloud-firestorefirebase-security

解决方案


不,这是不可能的。您无法访问该字符串的值或对其值施加约束。如果您希望arrayFieldName数组属性的元素至少包含三个字符,那么您必须在写入值时强制执行,而不是在查询时强制执行。


推荐阅读