当管理员创建一个HUB,你需要创建:
1. AdminHubDB :
-$hubId1 :
- adminId : $userid1
-$hubId2 :
- adminId : $userid2
2. MemberHubDB :
-$hubId1 :
- $userid1 : true
-$hubId2 :
- $userid1 : true
- $userid2 : true
3. HubJoinedDB :
-$userId1 :
- $hubId1 : true
- $hubId2 : true
-$userId2 :
- $hubid2 : true
4. PlayListDB :
-$hubId1 :
- $videoId1 :
- videoUrl : https://www.youtube.com/watch?v=[SOMEID]
- voteCount : 2
- $videoId2 :
- videoUrl : https://www.youtube.com/watch?v=[SOMEID]
- voteCount : 1
-$hubId2 :
- $videoId3 :
- videoUrl : https://www.youtube.com/watch?v=[SOMEID]
- voteCount : 5
- $videoId4 :
- videoUrl : https://www.youtube.com/watch?v=[SOMEID]
- voteCount : 10
出于安全目的,你需要指定一些规则:
- 只有轮毂的管理员可以写playlistDB
- 只有中心的会员可以投票给某些视频
这里的规则:
{
"rules": {
"PlayListDB": {
".read": "auth !== null",
"$hubId": {
".write": "root.child('AdminHubDB/'+$hubId+'/adminId'+'/'+auth.uid).exists()",
"$videoId" :{
"voteCount" :{
".write" : "root.child('MemberHubDB/'+$hubId+'/'+auth.uid).exists()"
}
}
}
}
}
}
如果父母的规则等于true,那么如果孩子的规则为false,它将忽略孩子的规则,事件。
但如果父母的规则等于假的,它会继续检查孩子的规则。
而且,当您更新voteCount时,请确保您使用Firebase交易方法进行有效计数
什么是集线器? – greenapps
它只是应用程序中的一个概念。这就像创建一个组,其中创建者是admin – Abhinav422
你应该告诉更多。谈到这一点。不明白一个字。 – greenapps