2017-07-18 5 views
1

Ich denke, Firebase zu benutzen, und vorher möchte ich etwas Firebase-Zeug wissen. Lassen Sie uns sagen, ich habe Gruppe und Benutzer dieser Gruppe Beispiel bezogen werden:Firebase wie man verwandte Daten löscht

{ 
    "users":{ 
    "user1":{ 
     "username":"john", 
     "full_name":"John Vincent", 
     "created_at":"9th Feb 2015", 
     "groups":{ 
      "group1":true, 
      "group3":true 
     } 
     "last_logins":... 
    }, 
    "user2": ..., 
    "user3": ... 
    } 
    "groups": { 
    "group1"{ 
     "group_name":"Administrators", 
     "group_description":"Users who can do anything!", 
     "no_of_users":2, 
     "members":{ 
      "user1":true, 
      "user3":true 
     } 
     }, 
    "group2"{ 
     "group_name":"Moderators", 
     "group_description":"Users who can only moderate!", 
     "no_of_users":1, 
     "members":{ 
      "user2":true 
     } 
     } 
    } 
} 

Und ich frage mich, ist es möglich, ähnliche Benutzer-Gruppen zu löschen. Sagen wir, wenn ich lösche Group2 Ich möchte verwandte Benutzer löschen, die user2 in diesem Beispiel ist?

Antwort

0

Ja, das ist möglich. Um dies zu erreichen, müssen Sie Ihre Datenbank abfragen, um die Benutzer zu finden, die zu einer bestimmten Gruppe gehören, die Sie löschen möchten. Mit diesen Benutzern names oder id's können Sie die gewünschten Benutzer löschen.

Um einen einzelnen Benutzer zu löschen, rufen Sie die Stammreferenz Ihrer Firebase-Datenbank ab und verwenden Sie dann remove-Funktion für die Referenz dieser bestimmten Benutzer.

Firebase root -> child("users") -> child("user1") -> remove function 

Am Ende löschen Sie einfach die gesamte Gruppe mit dem Verweis der bestimmten Gruppe.

Firebase root -> child("groups") -> child("group1") -> remove function 

Denken Sie daran, die Strömung wie folgt:

die Benutzer Finden einer bestimmten Gruppe coreponding -> hinzufügen, die Benutzernamen oder Benutzer-ID zu einer Liste -> Verwendung entfernen Funktion auf die Benutzer verweisen entsprechend den Benutzernamen oder IDs aus der Liste -> verwenden Sie die Funktion remove für die Gruppenreferenz, um die bestimmte Gruppe zu löschen.

Ich hoffe, es hilft.

1

Nicht-SQL-Datenbanken wie Firebase verwenden JSON. Sie müssen JSON lesen, um zu sehen, welche Benutzer zu Gruppe 2 gehören, bevor Sie Gruppe 2 löschen. Dann müssen Sie diese Benutzer zuerst löschen. Nach dem Löschen können Sie Gruppe 2 löschen.

Wenn Sie einen Trigger einrichten möchten, können Sie eine Funktion aufrufen, die automatisch einen Teil der Arbeit für Sie erledigt. Schauen Sie sich diese Firebase Trigger-Links für Einzelheiten zur Einrichtung auslöst:

  1. Trigger a function with an HTTP request
  2. Trigger a database function