2016-06-13 13 views
1

Was ich möchte, ist eine Datenstruktur ähnlich dieser Regelstruktur. Ich bin nicht in der Lage, dies zu erreichen, da das Hinzufügen eines neuen Datensatzes ein neues zufälliges Token für diesen Datensatz erzeugt. Grundsätzlich sollte ein Benutzer in der Lage sein, eine Abfrage in/stores auszuführen und alle Stores zu sehen, die eine UID haben, die dem aktuell authentifizierten Benutzer entspricht. Es würde also mehrere Datensätze im Speicher geben, die dieselbe UID hätten. Ich könnte das völlig falsch machen, also ist meine Frage, wie man eine Struktur erstellt, in der eingeloggte Benutzer Datensätze sehen können, die zu ihnen gehören.Wie man Firebasedaten strukturiert und Regeln zuweist

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

Antwort

0

Stellen Sie bitte mehr Inhalt für uns zur Verfügung. Im Allgemeinen erfordert eine Beziehung in Firebase ein zusätzliches Schlüssel: Wert-Paar. So können Sie am besten sein, dies zu tun:

benutzer1

record1: true

record2: true

record3: false

benutzer2

record1: false

record2: falsch

record3: true

fand ich diesen Beitrag sehr hilfreich sein: https://www.airpair.com/firebase/posts/structuring-your-firebase-data

+0

Wenn Sie auf den Link Sie in den vielen zu vielen Abschnitt verwiesen aussehen. Wie kann ich nur Benutzern, die zur Gruppe gehören, Zugriff auf die Daten in dieser Gruppe gewähren? Wenn ich also eine Suche unter/groups durchführe, würde es nur die Gruppen und Daten zurückgeben, in denen sich der Benutzer befindet. –

+0

Sie können die Beziehung unter "Benutzer" oder unter "Stores" speichern, aber ich würde nicht empfehlen, sie unter beiden zu speichern. Das Beispiel in der Verknüpfung zeigt dies - unter Verwendung des Benutzerobjekts und Auflisten der spezifischen Gruppen jeweils mit einem Wahr oder Falsch. Ihre Frage führt mich zu der Annahme, dass Sie vielleicht zu viel auf einmal tun und Firebase vielleicht mehr als nur Beziehungen für die Geschwindigkeit vorbereitet. Zu Ihrer spezifischen Frage: Gruppen (oder Geschäfte) wären alle, die für diesen Benutzer auf "wahr" gesetzt sind. Um eine Liste der Details jedes Geschäfts zu erhalten, müsste Firebase entweder mit einem Namen oder einer ID aufgerufen werden. – Allen

Verwandte Themen