2017-03-03 66 views
1

Android和火力點工作,並stumpled了一個問題,從我們想要達到火力地堡 - 檢索從孩子的所有數據,其中鍵包含VAR

我們有一個文檔,其中的關鍵是2名狀Bob_Jimmy

每名是唯一的,但可以在不同的設置一樣出現: Bob_Carl

由於這是關鍵,應如何/你會去從所有的按鍵獲取數據,其中「鮑勃」 Bob_Jimmy Jimmy_Bob是關鍵的一部分?因爲我們只知道Bob

回答

0

創建Firebase數據庫引用並在onDataChange()方法中檢查密鑰是否包含變量。例如:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); 
ref.addListenerForSingleValueEvent(new ValueEventListener(){ 

    @Override 
    public void onDataChange(DataSnapshot dataSnapshot){ 
    if(dataSnapshot.getKey().contains("bob")){ 
      {your code} 
     } 
    } 

}); 

,如果我有你的YOUE數據庫結構我也能寫出準確的代碼。這只是一個例子。 如果你想聽新的子添加事件,你可以使用addChildEventListener()。希望能幫助到你。

-1

您可以使用實時數據庫查詢類來檢索按鍵,按值或按子值排序的數據。您也可以將排序結果篩選到結果的具體數量或一定範圍的密鑰或值

注:篩選和排序可能很昂貴,在 客戶端完成時尤其如此。如果您的應用使用查詢,請定義。 indexOn規則到 對服務器上的這些密鑰進行索引,並將索引數據中所述的查詢性能提高爲 。

您可以使用sort data以下方法

方法的用法

orderByChild()結果排序指定的子鍵的值。

orderByKey()按子鍵排序結果。

orderByValue()結果排序子值

startAt()大於或等於根據所選擇的訂單通過方法指定鍵或值返回的項目。

endAt()根據所選順序的方法返回小於或等於指定鍵或值的項目。

equalTo()返回的項目等於指定的鍵或值,具體取決於所選的order-by方法。

+0

Firebase文檔中給出的所有信息。給出與問題相關的具體答案。這裏不需要** COPY - 粘貼**文檔。 –