Firebase 如何为多个子节点设置相同的规则
我正在使用firebase开发一个android应用程序。我有一个这样的用户数据库-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。我将其他节点的读写规则都
user:{
uid:{
uname:user1,
email:user1@gmail.com,
phone:1234567890,
level:20,
score:50
}
}
我将读取和写入的“score”节点设置为false。我将其他节点的读写规则都设置为true。两者都很好。
但每个用户节点下都有许多子节点。所以我必须为每个子节点编写读写规则。除“得分”节点外,其他节点具有相同的规则。是否有一些方法可以为多个子节点设置相同的规则,而不必为每个节点编写规则。您可以使用
$
变量来匹配所有未明确匹配的节点。因此,对于您的用例,应该是:
{
“规则”:{
“用户”:{
“$uid”:{
“分数”:{
//这些规则适用于分数
},
“$其他人”:{
//这些规则适用于所有其他子节点/属性
}
}
}
}
}
为了简化此操作,我建议在两个不同的顶级节点中重新组织数据,并根据每个子节点应具有的权限(每个子节点共有的权限)授予每个顶级节点访问权限。换言之,根据权限组织您的孩子,而不是将所有孩子捆绑在一起。