コンテキスト:私はFirebaseをバックエンドとして使用してアプリケーションを追跡しています。Firebaseノードはどのようにしてユーザーアクセスを制限し、管理者がレポートデータをプルできるように構成できますか?
タイムエントリ
- エントリID
- ユーザーID
- クライアントID:私の現在のノード構造はそうのようなルートでタイムエントリおよびクライアントを持っています、時間、日付、説明など
- ユーザーID
- エントリID
クライアント
- のClientID
- 名、プロジェクトなど
- のClientID
私は、ユーザーに基づいて時間のエントリを追加し、引っ張っていた場合、この構造は正常に動作しますが、私は、クライアントごとにレポートを一緒に置く作業を開始したいと思います。現在のところ、これは、各ユーザーに対して別々のHTTPリクエストを作成し、次にクライアントIDでフィルタリングしてデータを取得することを意味します。
親ノードへのアクセスが許可されると、Firebaseのルール構造によってすべての子ノードへのアクセスが許可されるため、ユーザーが互いのエントリを表示または編集できないように制限できません。
質問:ノードを構成する方法はありますか?ユーザーには独自のタイムエントリを管理させるだけでなく、クライアントに関連付けられたすべてのエントリを1つのクエリで取得できるようにする方法がありますか?私が思い付くことができ
** 唯一の解決策は、単に報告の目的のために使用される単一のノードにエントリを複製したが、これは、持続可能なオプションのように