2017-10-18 254 views
-1

我的工作在Android上火力地堡(与孩童属性获得)。
我在查询获取带有小孩财产的对象时遇到问题。
我附加了我的数据结构。火力地堡查询

https://i.stack.imgur.com/SDcJh.png

我想获得一个包含某些用户名的用户群体。

+0

对于这种结构,必须使用嵌套查询首先运行查询的事件变化监听器中,你会读钥匙,然后去读书的孩子配置文件或用户的附加检查,如果其配置文件,然后使用查询单事件侦听器配置文件,如果它不是配置文件,然后运行用户查询。然后阅读其儿童。儿童(snapshot.gtKey())。子女(object.getType() “配置文件”)。addSingleEventValue监听 –

回答

1

在这种情况下,您需要使用非规范化,这意味着您需要创建另一个名为userGroups的节点,其中您需要添加特定用户的所有组。你的数据库应该是这样的:

Firebase-root 
    | 
    ---- userGroups 
      | 
      --- userId1 
      |  | 
      |  --- groups 
      |   | 
      |   --- groupId1: true 
      |   | 
      |   --- groupId2: true 
      | 
      --- userId2 
        | 
        --- groups 
          | 
          --- groupId3: true 
          | 
          --- groupId4: true 

有了这个数据库结构,你可以得到所有用户在其中是分开的群体。只需在所需用户上附加一个监听器,并获取dataSnapshot对象中的所有组。

+0

所以我需要更新数据库结构? –

+0

是的,您需要添加解决您问题的新节点。 –