Правила безопасности Firestore: проверьте, содержит ли массив строки, отличные от идентификатора пользователя - PullRequest
0 голосов
/ 07 мая 2020

Я знаю, как проверить, содержит ли массив заданную строку (как объяснено, например, здесь ). Однако мое требование отличается: у меня есть документ с массивом updatedByHistoryArray , написанный на стороне сервера, который содержит историю идентификаторов всех пользователей, которые обновили такой документ, например [id1, id2, ..., idn] .

Я хотел бы разрешить операцию удаления для этого документа, только если последний был обновлен исключительно пользователем, который хочет его удалить. Так, например, если пользователь с id24 хочет удалить документ, updatedByHistoryArray этого документа должен быть [id24, id24, ..., id24].

Возможно ли реализовать это требование в правила безопасности Firestore?

1 Ответ

1 голос
/ 07 мая 2020

Звучит возможно. Попробуйте использовать hasOnly () , чтобы увидеть, содержит ли поле списка только один идентификатор пользователя.

resource.data.updatedByHistoryArray.hasOnly([request.auth.uid])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...