Проверить дубликат списка правил безопасности Firestore - PullRequest
0 голосов
/ 06 августа 2020

Допустим, request.resource.data[field] - это список. Я пытаюсь проверить, не является ли какой-либо из элементов в списке дубликатом других элементов. Другими словами, я проверяю, повторяется ли какой-либо из элементов в списке более одного раза. Я прочитал документацию и ссылки, относящиеся к списку, и не нашел способа реализовать это. Возможно ли это сделать?

1 Ответ

2 голосов
/ 06 августа 2020

Вы можете проверить, есть ли какие-либо дубликаты в поле типа списка, выполнив:

  1. Преобразование списка в набор с помощью toSet () (который не может содержать дубликатов
  2. Сравнение размера списка с размером набора

Если размер набора меньше, чем размер списка, то вы знаете, что было как минимум один дубликат, который был удален. Таким образом, что-то вроде этого вернет истину, если в списке был дубликат:

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