2016-09-20 240 views
4

I have my database structure like below in the snapshot火力地堡的關鍵

從孩子檢索數據現在我所要做的就是讓具有shop

category值所有的孩子我都試過這個代碼

Firebase ref = new Firebase("https://top-africa.firebaseio.com/businesses/); 
ref.orderByChild("category").equalTo("shop"); 
     ref.addChildEventListener(new ChildEventListener() { 
      @Override 
      public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       Object ob = dataSnapshot.getValue(); 
       System.out.println("There are " + dataSnapshot.getKey() + " blog posts==" + dataSnapshot.getValue()); 
      } 
}); 

但當我查看日誌時,它打印出所有10個孩子,而我想我只能檢索一個,因爲只有一個值爲categoryshop

我不知道我在想什麼。你能幫我解決這個問題嗎?

+0

你已經包括了JSON樹在你的問題的圖片來獲取數據。請用實際的JSON替換爲文本,您可以通過點擊Firebase數據庫控制檯中的導出按鈕輕鬆獲取。將JSON作爲文本可以搜索,使我們能夠輕鬆使用它來測試您的實際數據,並將其用於我們的答案中,並且通常只是一件好事。 –

回答

4

參考指向經營業務,所以使用的查詢與條件

Query mQuery = ref.orderByChild("category").equalTo("Shop"); 
mQuery.addChildEventListener(new ChildEventListener() { 
      @Override 
      public void onChildAdded(DataSnapshot dataSnapshot, String s) { 
       Object ob = dataSnapshot.getValue(); 
       System.out.println("There are " + dataSnapshot.getKey() + " blog posts==" + dataSnapshot.getValue()); 
      } 
}); 
+0

OP代碼以外的代碼在哪裏?並且請始終爲代碼添加一些解釋,否則它不會是一個好答案。 – Seelenvirtuose

+0

我只給出了彙總信息。我剛更改了你提到的代碼,但現在我沒有得到任何價值。 – Nirmal

+0

我編輯了我的密碼,商店區分大小寫 –