Firestore安全规则列表检查重复

时间:2020-08-06 14:44:54

标签: google-cloud-firestore firebase-security

假设request.resource.data[field]是一个列表。我正在尝试检查列表中的任何项目是否与其他项目重复。换句话说,我正在检查列表中是否有重复项超过一次。我阅读了与列表有关的文档和参考,但没有找到实现此方法的方法。这可能吗?

1 个答案:

答案 0 :(得分:2)

您可以通过以下方法检查“列表类型”字段中是否存在重复项:

  1. 使用toSet()(不能包含重复项)将列表转换为集合
  2. 将列表的大小与集合的大小进行比较

如果集合的大小小于列表的大小,则您知道至少有一个重复项被删除。因此,如果列表中有重复项,则类似以下内容将返回true:

listField.toSet().size() < listField.size()