A regra de segurança do Firestore get () não funciona

A solução está no final do post. Confira.Решение проблемы конце поста. Дочитайте.

apenas uma pergunta simples: o que há de errado nisso e por que isso não está funcionando?

Tentando obter acesso com o usuário que tem a função 'admin' na seção de usuários do/ títulos / {anyTitle} mas ainda assim

Permissões ausentes ou insuficientes.

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow write: if false;
      allow read: if false;
    }
    function userCanWrite () {
      return get(/databases/{database}/documents/users/$(request.auth.uid)).data.role == "admin";
    }
    match /titles/{anyTitle=**} {
      allow read: if request.auth != null;
      allow write: if userCanWrite();
    }
  }
}

Aqui está a minha estrutura de banco de dados

P.S.

Eu tentei outra regra a partir de documentos oficiaisget(/databases/{database}/documents/users/$(request.auth.uid‌​)).data.isAdmin == true;

e isso também não está funcionando

ATUALIZAÇÃO: MANEIRA CORRETA DE O FAZER

O suporte me ajudou a encontrar a solução, é assim que você deve fazer:

estrutura db:

usuários -> {{userid}} -> {role: "admin"}

configurações de regra do banco de dados:

get (usersPath / $ (request.auth.uid)). role == "admin" || get (usersPath / $ (request.auth.uid)). data.role == "admin";

questionAnswers(4)

yourAnswerToTheQuestion