2016-07-08 6 views
1

Ich verstehe, wie Bilder hochgeladen/heruntergeladen werden. Sie fragen sich, wie Sie diese Daten in der Firebase-Konsole verwalten können?Firebase Speicherstruktur Beispiel

Wir laden hauptsächlich Bilder/Videos hoch und senden sie zwischen Usern über den privaten Chat/Gruppenchat innerhalb unserer App.

Also fing ich an, dies zu schaffen:

enter image description here

  1. sollte ich Bilder Benutzer zB hinzufügen:

    /users/<userId>/images/<image-file> 
    
  2. wie wäre gut, ein Bild auf chat- zu teilen Gruppe?

    /groups/groupId/images/<image-file> 
    

dies ist, wie unsere Feuerbasis Struktur beschäftigt sich mit Gruppenmeldungen

/groups/<groupId>/<messageId> 

Wenn messageId Erweiterung sehen u die Nachricht, userId (wer die Nachricht und Zeitstempel geschrieben)

enter image description here

Vorschläge wären willkommen

Danke.

+0

Der Hauptgrund für die Auswahl einer bestimmten Ordnerstruktur ist, dass Sie [sicheren Zugriff auf bestimmte Dateien mithilfe von Sicherheitsregeln] (https://firebase.google.com/docs/storage/security) können. Ich bin mir nicht sicher, warum Sie auch für die Firebase-Datenbank getaggt haben. Wie spielt das deine Frage? –

+1

Ich habe die firrbase-Datenbank hinzugefügt, um Einblicke und Best Practices zu erhalten, die möglicherweise auf Firebase-Speicher angewendet werden. bout security .. einfache anforderungen .. bei privaten chats können nur die zwei personen auf die dateien zugreifen, bei gruppen kann nur die gruppe teilnehmen die dateien zugreifen. Wie würden Sie empfehlen, es entsprechend zu strukturieren? – rayman

Antwort

0

Meiner Meinung nach ist jedes Bild (oder jede Datei), das vom Benutzer hochgeladen wird, die eigene Eigenschaft des Benutzers. Was Sie also tun können, ist Ihre Punktnummer 1 die richtige Art zu implementieren. Sie können sogar Sicherheitsregeln darauf anwenden. Sie müssen sich keine Gedanken über die Architektur machen, da sie bereits flach ist. Nichts, worüber man sich Sorgen machen müsste.

Sie laden also die Datei in den Ordner des Benutzers hoch und Sie erhalten einen Link zu dieser Datei, den Sie in der Firebase-Datenbank speichern können. Ich hoffe, dass Sie mit Ihrem Punkt klar sind. 1

Jetzt für Punkt Nummer 2. Ihre Firebase-Datenbank wird groups Objekt haben, das die Chats Benutzer halten wird. Wenn Sie das Bild für eine Gruppe freigeben möchten, werden Sie auch in diesem Fall eine Datei in Ihren Ordner auf Firebase Storage hochladen. Sie werden dann den Link dazu im Gruppenchat freigeben.

Insgesamt laden Sie Dateien in Firebase Storage hoch, speichern und teilen Sie den Link dazu in Firebase Database.

Hoffen Sie, dass Sie mit Ihren beiden Punkten klar sind. Fragen Sie, ob Sie mehr Freiraum brauchen.

+0

danke für die antwort. über Punkt 2. Sie sagen, ich brauche keine Ordner? nur um alle Gruppennachrichten in den Stammordner zu werfen?Ich habe die Frage mit der Art und Weise geändert, wie ich Gruppennachrichten in unserer Firebase-Datenbankstruktur behandle – rayman

+0

Ich habe mich gefragt, ob Sie einen Chanse haben, um meinen Kommentar zu beantworten? (Über Punkt 2) danke – rayman

+1

Ist es sicher genug, um den Link in der Datenbank zu speichern, und davon auszugehen, dass ein Benutzer, der keinen Zugriff auf den Link hat, keinen Zugriff auf die Datei hat? – Stradosphere

Verwandte Themen