Правило Firebase, позволяющее писать только детям - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу разрешить создателю семьи добавлять детей. Я сохраняю uid как «владелец» семейства

match /families/{family} {
  allow create: if request.auth != null
  allow update: if request.auth != null && request.auth.uid == request.resource.data.uid;
}

match /families/{family}/children/{child} {
    allow read
    allow create: if request.auth.uid != null //this will allow any parent to create children on any famly!!;
}

. Как я могу разрешить создание if {family} .uid == request.auth.uid ??

1 Ответ

1 голос
/ 21 апреля 2020

Вам нужно будет использовать get() для доступа к другим документам , отличным от того, который соответствует правилу. Для вашего случая это означает, что вам нужно get() документ семьи, чтобы использовать значения его полей.

match /families/{family}/children/{child} {
    allow read;
    allow create: if
      get(/databases/$(database)/documents/families/$(family)).data.uid == request.auth.uid;
}
...