Если поле документа, которое вы хотите использовать, отсутствует в документе, который проверяется на доступ для чтения / записи, соответствующий правилу, вам придется get()
другой документ (даже если оннаходится в родительском пути), используя его полный путь, чтобы вы могли использовать значения его полей в своем правиле. Узнайте больше в документации о доступе к другим документам .
Вероятно, будет проще, если вы не используете подстановочный знак glob в своем правиле и вместо этого вызываете подколлекцию по имени, поэтомуВы можете легче построить путь к родительскому документу, используя отдельные значения подстановочных знаков. Примерно так:
match /scores/{scoreId}/history/{id} {
allow create, update:
if get(/databases/$(database)/documents/scores/$(scoreId)).data.userID == request.auth.uid;
}
Это не точное правило, но я надеюсь, что вы можете увидеть, что я здесь делаю, чтобы сформулировать свое собственное.