ユーザーとアカウントの 2 種類のオブジェクトがあるとします。ユーザーは多くのアカウントを持ち、他のユーザーと共有できます。そのため、User1 と User2 が AccountA を利用できる可能性があります。AccountB は User1 のみが利用できます。したがって、User1 には 2 つのアカウントがあり、User2 には 1 つのアカウントがあります。
これを構造化する「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 がログインしたときに、データベース全体をプルダウンすることなく、Ted が属するアカウントを一覧表示できるようにする方法を考えています。とにかく、セキュリティのために、彼のマシンにそのすべてのデータを入れたくありません。
質問 #1 セキュリティ ルールはこれを処理しますか? つまり、ユーザーが所属するアカウントのみを許可するようにセキュリティ ルールを設定することを計画しています。「/accounts」をクエリすると、ユーザーがアクセスできるアカウントのみが返されることを期待しています...いいえ?
質問 #2 アイテムのリストを照会するメカニズムはありますか。「/accounts/[1,2]」のように、アカウント「/accounts/1」と「/accounts/2」を取り戻すには?
共有できる情報をありがとう。