2017-05-25 61 views
1

火力地堡DatabaseReference過濾器讓想我有這個火力點JSON結構:由指定的值

example

,我需要得到所有有屬性附加傷害的問題「從」等於「此」。

我知道我可以使用Volley創建StringRequest並從我的questions.json中獲取所有值。然後,在客戶端,我可以遍歷響應並刪除那些沒有正確屬性的響應,但是這隻有在我有幾個問題時纔會起作用。如果我有數以百萬計的問題,我需要遍歷數百萬個問題。

有沒有什麼辦法可以在我的請求中添加一個過濾器,以便只用我選擇的屬性來獲取問題? (例如:搜索questions.json其中來自==本)

回答

7

試試這個,如果可能在您的方案有用

DatabaseReference reference = FirebaseDatabase.getInstance().getReference(); 

    Query query = reference.child("questions").orderByChild("from").equalTo("this"); 
    query.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      if (dataSnapshot.exists()) { 

       for (DataSnapshot issue : dataSnapshot.getChildren()) { 
       // do with your result 
       } 
      } 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 
+0

是它爲你工作? – ashish

+1

是的!有效。謝謝! – Ravers

2

您可以使用equalTo

Query query = reference.child("questions").orderByChild("from").equalTo("this");