2016-07-07 37 views
2

我是新与火力得到火力点的数据,所以不很严格...... 我有一个数据库:不能与过滤

{"list":[ 
      { 
      "id":0, 
      "name":"name", 
      "text":"text" 
      }, 
      { 
      "id":1, 
      "name":"name", 
      "text":"text" 
      }, 
      { 
      "id":2, 
      "name":"name", 
      "text":"text" 
      }, 
      { 
      "id":3, 
      "name":"name", 
      "text":"text" 
      } 
    ] 
} 

enter image description here

这里是我的请求码:

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
Query mQuery = database.getReference("list") 
       .child("id").startAt("2"); 
mQuery.addListenerForSingleValueEvent(eventListener); 

但这一要求返回NULL ...

会很高兴任何想法?

UPDATE

我需要获得所有项目其中id是大于问了一句。

+0

我想你所示的数据库结构不会看起来像一个火力点数据库。 **它看起来像一些API调用的响应**。实际上,Firebase数据库对于输入的每个节点都有唯一的ID,我没有看到类似于数据库中的任何内容。 –

+0

从数据库站点的屏幕上看看 –

+0

使用_ChildEventListener_它会给你一个一个的节点的价值 – Piyush

回答

4

您需要添加一个订单由法

Query mQuery = database.getReference("list") 
      .orderByChild("id").startAt(2); 

它应该工作

+0

谢谢! 这个工程! –

0
Query mQuery = database.getReference("list") 
      .child("id").startAt("2"); 

该查询在https://<YOUR_FIREBASE_APP>.firebaseio.com/list/id返回的节点不存在,所以你得到一个空结果。

试试这个

Query mQuery = database.getReference("list").startAt("2");