Firestore JS - запрос для члена в массиве с примененными правилами - PullRequest
0 голосов
/ 20 сентября 2018

Я создаю приложение для чата с помощью firestore.Моя структура данных выглядит следующим образом:

chatroomCollection:
    chatroom1:
        users:[email1, email2],
        messagesCollection:
            ...etc.

Я хотел бы сделать запрос для всех чатов, в которых я нахожусь, в настоящее время я использую следующее:

dbRef.collection('chatroomCollection').where('users', 'array-contains', myEmail).get().then((querySnapshot) =>{
    //process here
});

, который прекрасно работает без правил пожарного депо.

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

match /chatroomCollection/{chatroomId} {
  allow read: if request.auth.token.email in resource.data.users;
}

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

resource.data.users;

на

request.resource.data.users;

, но безрезультатно.

Может ли кто-нибудь помочь мне решить эту проблему?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...