如果有那个孩子,Firebase会给与肯定

时间:2019-10-26 01:06:26

标签: firebase security firebase-authentication firebase-security

因此,我尝试允许从父级读取数据,但不确定自己在做什么,可能是某些语法,但我尝试了很多组合,但我不知道为什么,正确的方法是会吗 预先感谢!

尝试了很多与“}”的组合,但是它总是说我的语法是错误的

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

如果用户来自$ game,则允许从那里读取数据以及读取自己的数据。谢谢!

1 个答案:

答案 0 :(得分:0)

Firebase安全规则本身不会过滤数据。

如果只想检索具有某个子项的数据,则需要查询该子项的值。例如。 ref.orderByChild("first_letter").startAt("A").endAt("Z")。进行此类查询后,您可以使用query based security rules来强制执行该查询。

但是您的结构暗示着一个没有很好建模的场景。您当前的数据模型使查找游戏的用户变得容易,但是却不容易为用户找到游戏。为了同样轻松,您需要添加辅助数据结构,用于为每个用户存储游戏(ID或数据)。

类似这样:

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

另请参阅: