Вам придется использовать get () , как описано в документации , чтобы получить любой другой документ, кроме того, который соответствует вашему правилу. Вам также нужно будет указать для внутренних и внешних вложенных правил разные подстановочные имена:
match /MainCollection/{maindoc} {
match/subcollection/{subdoc} {
allow write: if request.auth.uid ==
get(/databases/$(database)/documents/MainCollection/$(maindoc)).data.ownerID
}
}
Обратите внимание, что я использовал разные подстановочные имена maindoc
и subdoc
, поэтому одна переменная не маскирует другую.