Я создаю приложение для чата с помощью 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;
, но безрезультатно.
Может ли кто-нибудь помочь мне решить эту проблему?Спасибо!