То, что вы пытаетесь сделать, невозможно с вашей структурой документа. В настоящее время правила не предоставляют возможности перебирать массив или выполнять операции, подобные карте. Вместо этого рассмотрите другую структуру, которая помещает значения, которые вы хотите фильтровать, в качестве значений массива (да, вы будете дублировать данные от пользователей в новое поле):
Document 1:
uid: 13423425,
...,
users: ...,
fullAccess: ['123', '456']
Теперь ваше правило можно записать следующим образом :
match /sometable/{sometableId} {
allow create: if request.auth.uid != null;
allow read, write: if request.auth.uid in resource.data.fullAccess;
}
Вы также можете решить эту проблему, используя карту со значениями uid для ключей и вложенными свойствами, содержащими логические значения, указывающие на доступ для чтения / записи.