Firebase 如何检查安全规则数组中的重复项? 问题

Firebase 如何检查安全规则数组中的重复项? 问题,firebase,google-cloud-firestore,firebase-security,Firebase,Google Cloud Firestore,Firebase Security,我想确保我的CloudFireStore文档中的数组字段不包含任何重复条目,但是,我找不到任何允许我轻松检查的条目 代码 我提出了一个可能的解决方案,确保列表只能包含a和b,并且没有重复的条目 函数包含重复项(数组){ 返回数组是列表 &&array.size()安全规则中实际上有一个未记录的语言功能,允许您将列表转换为新的“集合”键入保证没有重复项的对象。列表中的任何DUP都将在集合中折叠。这意味着您只需将原始列表的大小与集合的大小进行比较,以确定是否存在DUP: function conta

我想确保我的CloudFireStore文档中的数组字段不包含任何重复条目,但是,我找不到任何允许我轻松检查的条目

代码 我提出了一个可能的解决方案,确保列表只能包含
a
b
,并且没有重复的条目

函数包含重复项(数组){
返回数组是列表

&&array.size()安全规则中实际上有一个未记录的语言功能,允许您将列表转换为新的“集合”键入保证没有重复项的对象。列表中的任何DUP都将在集合中折叠。这意味着您只需将原始列表的大小与集合的大小进行比较,以确定是否存在DUP:

function containsNoDuplicates(array) {
  return array.toSet().size() == array.size();
}


令人惊讶!这与
writeFields
类似,意味着它将来可能不受支持,或者只是文档中缺少了它?语言功能太新了,文档团队还没有跟上。它将得到完全支持,因此您可以信赖它。(否则我不会给出答案!)