2016-09-20 238 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

我编辑了我的密码,商店区分大小写 –