Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何为多个子节点设置相同的规则_Firebase_Firebase Realtime Database_Firebase Security - Fatal编程技术网

Firebase 如何为多个子节点设置相同的规则

Firebase 如何为多个子节点设置相同的规则,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,我正在使用firebase开发一个android应用程序。我有一个这样的用户数据库- user:{ uid:{ uname:user1, email:user1@gmail.com, phone:1234567890, level:20, score:50 } } 我将读取和写入的“score”节点设置为false。我将其他节点的读写规则都

我正在使用firebase开发一个android应用程序。我有一个这样的用户数据库-

user:{
      uid:{
           uname:user1,
           email:user1@gmail.com,
           phone:1234567890,
           level:20,
           score:50
          } 
      }
我将读取和写入的“score”节点设置为false。我将其他节点的读写规则都设置为true。两者都很好。
但每个用户节点下都有许多子节点。所以我必须为每个子节点编写读写规则。除“得分”节点外,其他节点具有相同的规则。是否有一些方法可以为多个子节点设置相同的规则,而不必为每个节点编写规则。

您可以使用
$
变量来匹配所有未明确匹配的节点。因此,对于您的用例,应该是:

{
“规则”:{
“用户”:{
“$uid”:{
“分数”:{
//这些规则适用于分数
},
“$其他人”:{
//这些规则适用于所有其他子节点/属性
}
}
}
}
}

为了简化此操作,我建议在两个不同的顶级节点中重新组织数据,并根据每个子节点应具有的权限(每个子节点共有的权限)授予每个顶级节点访问权限。换言之,根据权限组织您的孩子,而不是将所有孩子捆绑在一起。