У меня есть коллекция reviews
, где каждый отзыв содержит список uid
пользователей, которым он понравился, и называется likes
. Схема выглядит следующим образом:
- рецензия (коллекция)
- название
string
- автор
uid
- лайки [
uid
] - отправлено
timestamp
- пользователь (коллекция) -
uid
- создано
timestamp
- электронная почта
string
В настоящее время я работаю с пользователем, которому нравится отзыв:
firebase.firestore().doc(rid).update({
likes: firebase.firestore.FieldValue.arrayUnion(this.fetchCurrentUID())
});
И не нравится:
firebase.firestore().doc(rid).update({
likes: firebase.firestore.FieldValue.arrayRemove(this.fetchCurrentUID())
});
Я только хочу позволить пользователю добавлять или удалять свои uid
из likes
.
Как я могу написать правило безопасности для обеспечения этого? В частности, мне нужно увидеть как список обновляется, например что-то вроде:
let newVals = request.resource.data.new_values // or something
return (newVals.length == 1 && newVals[0] == request.auth.uid)