0
本来共享数据,我有以下设置:实时值听众在火力地堡
folder:{
uid1:{
f1:{}
f2:{}
}
}
,我能够通过收听该uid的值:
ref('/folder/uid').on('value', functon ....
的安全规则可以简单地这样的:
"folders": {
"$uid": {
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid"
}
},
但现在我要做的文件夹共享和规划做了如下:
user:{
uid1:{
folderAccessRight:{
read: {fid1:true}
write: {fid1:true}
}
}
}
folder:{
fid1:{}
fid2:{}
}
安全规则可以设置为检查$ FID用户的folderAccessRight JSON存在。但是,由于安全规则不能作为过滤器,我不能再听顶层文件夹ref('/ folder')。
如果我在不同的文件夹和用户添加一个单独的值听者具有N个文件夹,我需要Ñ听众。
问题:具有多个监听
- 就会损害性能?
- 有没有更好的办法来组织数据&实时收听数据?
我开始写一个答案(我现在把它留作存根),然后意识到我不太了解你的数据模型。你可以展示一个操作,你在执行时遇到问题吗? –
只要你保持合理的数字,拥有多个听众并不是问题。什么是合理的取决于你的应用程序,但一般来说:只听取屏幕上显示的数据。另见http://stackoverflow.com/q/37635733/,http://stackoverflow.com/q/24558317/ –
@FrankvanPuffelen我还没有开始转换,但我的代码仍然在做原始的东西:在ref'folder/uid1',我只是在探索如何在不同的用户之间共享数据。谢谢您的回答。 – nlgn