Есть ли способ проверить массив в правилах FireStore - PullRequest
0 голосов
/ 16 декабря 2018

Когда я вижу свои данные в консоли Firebase, они выглядят следующим образом:

enter image description here

Я пишу правила безопасности FireStore для защиты данных.

правила безопасности:

     match /wallpost/{wallpostId} {
          allow read: if true;
          allow list: if request.query.limit <= 10;
          allow create, update, delete: if resource.data.createdBy == request.auth.uid && request.resource.data.createdBy is string && request.resource.data.description is string 
// && **HERE I WANT VALIDATE TAG - WHICH IS A ARRAY OF STRING** 
        }

Может кто-нибудь знает, как проверить массив данных в firestore.

(Мой разум: если мы не можем проверить массив в firestore, любой может добавить огромный мусорданные и взломать firestore. Поэтому мы не должны позволять пользователю писать массив или объект напрямую, вместо этого используйте функцию firestore для выполнения этого сопоставления и упорядочения данных в правильном месте)

Пожалуйста, помогите мне ...

1 Ответ

0 голосов
/ 16 декабря 2018

Если вы хотите разрешить чтение документа, если tag1 находится в поле tag, вы можете сделать:

match /posts/{postID} {
  allow read: if 'tag1' in resource.data.tag
}

См. Также:

...