2017-07-18 59 views
1

我想使用Firebase,在此之前我想知道一些Firebase的东西。假设我有与该组相关的组和用户示例:Firebase如何删除相关数据

{ 
    "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 
     } 
     } 
    } 
} 

我想知道是否可以将相关用户删除到组。可以说,如果我删除Group2我想删除这个例子中的相关用户user2

回答

0

是的,这是可能的。为了达到这个目的,你需要查询你的数据库以找到对你想删除的特定组进行核对的用户。让这些用户namesid's将允许您删除所需的用户。

要删除单个用户,请获取Firebase数据库的根引用,然后对这些特定用户的引用使用remove函数。

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

最后,只需使用特定组的引用删除整个组。

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

记住,流程如下:

找到用户coreponding特定组 - >用户名或用户ID添加到列表 - >使用删除功能的用户参考根据列表中的用户名或ID - >使用删除功能对组引用删除特定的组。

希望它有帮助。

1

像Firebase这样的非SQL数据库使用JSON。在删除第2组之前,您必须先阅读JSON以查看哪些用户是第2组的一部分。然后,您需要先删除这些用户。删除之后,您可以删除第2组。

如果您想设置一个触发器,您可以让它调用一个可以自动完成某些工作的功能。检查出的细节,这些火力地堡触发环节如何设置触发器:

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