2017-02-09 1 views
0

Ich entwickle eine Chat-App. In meiner App gibt es 4 Knoten, die User, Recent, Message, Group genannt werden. Ich bin mit Objective-C Meine Nachricht Objekt aussieht,Wie aktualisiert man alte Daten in Firebase mit neuen Daten?

{ 
    "createdAt" : 1.486618017521277E9, 
    "groupId" : "-KcWKeXXQ9tjYsYfCknx", 
    "objectId" : "-KcWKftK8GiMxxAnarL5", 
    "senderId" : "828949592937598976", 
    "senderImage" : "http://hairstyleonpoint.com/wp-content/uploads/2014/10/marcello-alvarez.png", 
    "senderName" : "John Doee", 
    "status" : "Seen", 
    "text" : "Hi all", 
    "type" : "text", 
    "updatedAt" : 1.486622011467733E9 
} 

Wenn ich einen Benutzer zu aktualisieren, alle Botschaft senderName sollte entsprechend aktualisiert werden. Gibt es Möglichkeiten, dies über den Code zu tun oder muss ich eine Regel schreiben. Ich bin ein Neuling in der Firebase. Bitte schlage mir einen Weg vor, dies zu tun. Wenn es möglich ist, mit den Regeln umzugehen, bitte führe mich hierüber.

+2

Sie müssen es manuell aktualisieren. Es gibt keinen Code, der es für Sie tun würde. –

+0

Siehe meine Antwort hier für die möglichen Ansätze: http://stackoverflow.com/questions/30693785/how-to-write-denormalized-data-in-firebase/30699277#30699277. Die Antwort ist für JavaScript, aber die Ansätze sind auf jeder Plattform gültig. –

Antwort

2

Es ist nicht möglich, dies über Regeln zu tun, so dass Sie manuell über alle Ihre Daten iterieren und den sendername aktualisieren müssen.

Wie auch immer, ich denke, Sie wären wahrscheinlich besser dran mit dem Speichern von {senderID: $ someUserID} anstatt wie in einer relationalen Datenbank. Die Benutzer-ID ist statisch und kann den Benutzer ändern, ohne alle Instanzen aktualisieren zu müssen, in denen Sie sie verwenden.

Verwandte Themen