2016-06-13 5 views
1

このルール構造に似たデータ構造があります。新しいレコードを追加すると、そのレコードの新しいランダムトークンが生成されるため、これを達成できないようです。基本的に、ユーザーは/ storesでクエリを実行し、現在認証されているユーザーと等しいuidを持つすべてのストアを表示できます。したがって、同じuidを持つ複数のレコードがストアに格納されます。私はこれについて完全に間違っているかもしれないので、私の質問は、ログインしたユーザーがそれらに属するレコードを見ることができる構造を作成する方法です。ファイヤーベースデータを構造化してルールを割り当てる方法

{ 
    "rules": { 
     "users": { 
      "$uid": { 
       ".read": true, 
        ".write": "$uid === auth.uid" 
      } 
     }, 
     "stores": { 
      "$uid": { 
       ".read": "$uid === auth.uid", 
       ".write": "$uid === auth.uid", 
       "$storeId": { 
       } 
      } 
      } 
    } 
} 

答えて

0

私たちにとってより多くのコンテンツを提供してください。一般的には、firebase内の関係には追加のkey:valueのペアが必要です。

user1の

RECORD1:真

RECORD2:真

RECORD3:偽

user2の

RECORD1:偽

だから、これを行う最善かもしれrecord2:false

RECORD3:https://www.airpair.com/firebase/posts/structuring-your-firebase-data

+0

あなたは多くのセクションに多くで参照リンクを見れば:真

私は非常に有用であることを、この記事を見つけました。グループに属しているユーザーにのみ、そのグループのデータへのアクセスを許可するにはどうすればよいですか?したがって、/ groupsの下で検索を実行すると、ユーザーが属するグループとデータのみが返されます。 –

+0

「ユーザー」または「ストア」の下に関係を保存できますが、両方の下にストアすることはお勧めしません。このリンクの例では、ユーザーオブジェクトを使用して、それぞれが真または偽の特定のグループを一覧表示しています。あなたの質問は、あなたが一度にあまりにも多くをやろうとしているかもしれないと思うようになり、Firebaseはおそらく関係よりもスピードのために設定されています。あなたの特定の質問に:グループ(または店舗)は、そのユーザーに対して「真」に設定されたすべてのものになります。各店舗の詳細のリストを取得するには、名前またはIDのいずれかを使用してFirebaseへの追加の呼び出しが必要です。 – Allen

関連する問題