@MarcelBochtler У вас есть ссылка на документацию о том, что «точки не разрешены в качестве ключа карты»?

аюсь создать приложение, которое позволяет пользователям сотрудничать в списках. Каждый пользователь должен быть приглашен для работы в списке.

Я структурировал свои данные таким образомэтот блог). Также эта структура может быть изменена при необходимости.

list
  list_1:
    users:
      owner:
        [email protected]: true
      shared:
        [email protected]: true
        [email protected]: true
    id
    name
    items:
      item_1:
        id:
        name:
      ...

Чего я пытаюсь добиться: каждый должен иметь возможность создавать списки. Затем их создатель становится владельцем созданного списка. Только владелец и пользователи в «общем» документе должны иметь возможность читать и писать в этот список.

Я думаю, что настройки разрешений должны выглядеть примерно так. Но это не работает:

service cloud.firestore {
  match /databases/{database}/documents {
    match /lists/{listId}/{anything=**} {
        allow read, write: if !exists(resource.data.users.owner) ||
                               resource.data.users.owner == request.auth.token.email ||
                           ,    request.auth.token.email in resource.data.users.shared
    }
  }
}

Ответы на вопрос(1)

Ваш ответ на вопрос