假设我有两种对象用户和帐户。用户可以拥有多个帐户并与其他用户共享。所以 AccountA 可能对 User1 和 User2 可用。而 AccountB 仅对 User1 可用。所以 User1 有两个账户,User2 有一个账户。
构建这个的“firebase”方法是什么?
我最初的想法是每个用户都可以存储他们所属的一组帐户。
users: {
1: {
name: 'Ted',
accounts: [1, 2]
}
2: {
name: 'Frank',
accounts: [1]
}
}
accounts: {
1: {
name: "Checking"
},
2: {
name: "Savings"
}
}
或者该帐户将有一组用户。
users: {
1: {
name: 'Ted'
}
2: {
name: 'Frank'
}
}
accounts: {
1: {
name: "Checking",
users: [1, 2]
},
2: {
name: "Savings"
users: [1]
}
}
我想知道哪种方式可以让我轻松找到用户的帐户,以便当 Ted 登录时,我可以列出他所属的帐户,而无需拉下整个数据库。为了安全起见,无论如何我都不希望他机器上的所有数据。
问题 #1 安全规则会解决这个问题吗?我的意思是我打算设置我的安全规则,以便用户只能使用他们所属的帐户。我希望如果我查询“/accounts”,我只会取回用户可以访问的那些帐户......不是吗?
问题 #2 是否有查询项目列表的机制。像“/accounts/[1,2]”这样我拿回帐户“/accounts/1”和“/accounts/2”?
感谢您提供的任何信息。