Firebase дать премьеру, если у этого ребенка - PullRequest
0 голосов
/ 26 октября 2019

Итак, я пытаюсь дать разрешение на чтение данных от родителя, но я не уверен, что я делаю неправильно, возможно, какой-то синтаксис, но я пробовал много комбинаций и не могу понять, почему, как правильносделай это? Заранее спасибо!

пробовал много комбинаций с "}", но всегда говорит, что мой синтаксис неправильный

  "rules": {
"ca": {    
  "$date": {
       "$game": { 
                  ///if($game.hasChild(auth.uid))
           "$uid":{
              ".read": "$uid === auth.uid",
          ".write": "$uid === auth.uid"
          }
        }
      }
    }
}

, если пользователь из $ game, поэтому ему разрешено читать данные изтам как и читал есть собственные данные .. Спасибо!

1 Ответ

0 голосов
/ 26 октября 2019

Правила безопасности Firebase сами по себе не фильтруют данные.

Если вы хотите получать только те данные, у которых есть определенный дочерний элемент, вам потребуется запросить значение дочернего элемента. Например, ref.orderByChild("first_letter").startAt("A").endAt("Z"). Если у вас есть такой запрос, вы можете применить его с помощью правил безопасности, основанных на запросах .

Но ваша структура намекает на сценарий, который недостаточно хорошо смоделирован. Ваша текущая модель данных облегчает поиск пользователей для игры, однако не облегчает поиск игр для пользователя. Чтобы сделать это одинаково легко, вам нужно добавить вторичную структуру данных, в которой вы храните игру (идентификаторы или данные) для каждого пользователя.

Так что-то вроде:

"user_games": {
  "$uid": {
    "$gameid": true
  }
}

Такжесм .:

...