2017-10-18 222 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

是的,您需要添加解決您問題的新節點。 –