2016-07-27 11 views
2

Ich baue eine Chat-App mit Swift und Firebase 3 und ich frage mich, wie man mehrere Nachricht löscht/Updates behandelt. Wenn ein Benutzer beispielsweise entscheidet, eine Konversation zu löschen, möchte ich ein Flag für alle Nachrichten in dieser Konversation löschen/aktualisieren.Firebase Bulk Update/Delete

Gibt es eine Möglichkeit, dies mit Swift und Firebase 3 zu tun? Vielleicht mit einer REST-Anfrage? Ich konnte in der Dokumentation nichts finden, was damit zusammenhängt.

Wenn dies in Firebase noch nicht unterstützt wird, ist es ein guter Ansatz, die letzte Nachricht zu markieren und dann die Nachrichten in umgekehrter Reihenfolge (beginnend mit der neuesten) herunterzuladen und einfach bei der markierten Nachricht zu stoppen?

Vielen Dank im Voraus.

+0

einen Blick auf [diesem Blogpost] Nehmen (https://firebase.googleblog.com/2015/09/introducing-multi-location-updates- and_86.html). Ist das wonach Sie suchen? –

+0

Ja. Vielen Dank! Dies funktioniert für die Aktualisierung, jede Idee zum Löschen mehrerer Kinder? – florinzf

+0

Sie können Kinder löschen, indem Sie ihren Wert auf null setzen. –

Antwort

2

Sie können es leicht mit "updateChildValues" tun, wählen Sie eine Referenz, die ein gemeinsamer Vorfahre ist den ganzen Weg zu root, wenn nötig.

Hier ist ein Beispiel:

 [super.ref updateChildValues:@{ 
         [NSString stringWithFormat:@"followers/%@/%@", _user.userID, 
         [FPAppState sharedInstance].currentUser.userID]: lastPostID, 
         [NSString stringWithFormat:@"people/%@/following/%@", 
         [FPAppState sharedInstance].currentUser.userID, _user.userID]: @YES 
         }]; 

https://github.com/firebase/friendlypix/blob/master/ios/FriendlyPix/FPAccountViewController.m#L114

+0

Danke! Dies funktioniert zum Aktualisieren. Haben Sie eine Idee, wie Sie mehrere Kinder löschen können? – florinzf

+0

Sie können ihre Werte auf [NSNull null] setzen –