Android Firebase查询(使用子属性获取)

Android Firebase查询(使用子属性获取),android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在用Firebase开发Android。 我在查询以获取具有child属性的child的对象时遇到问题。 我附上了我的数据结构 我想获取包含具有特定用户ID的用户的组 在这种情况下,您需要使用非规范化,这意味着您需要创建另一个名为userGroups的节点,您需要在其中添加特定用户的所有组。您的数据库应该如下所示: Firebase-root | ---- userGroups | --- userId1

我正在用Firebase开发Android。 我在查询以获取具有child属性的child的对象时遇到问题。 我附上了我的数据结构


我想获取包含具有特定用户ID的用户的组

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

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

使用此数据库结构,您可以获得用户所在的所有组。只需在所需用户上附加一个侦听器,并从dataSnapshot对象获取所有组。

Yes,您需要添加解决问题的新节点。对于此结构,您必须使用嵌套查询首先运行事件更改侦听器查询,在其中您将读取键,然后读取子配置文件或用户添加检查其配置文件是否使用单事件侦听器配置文件查询,如果不是配置文件,则运行用户查询。然后读它的孩子们。!Childsnapshot.gtKey.childobject.getTypeProfile.addSingleEventValue‌​听众