Firebase值事件侦听器返回null以限制为last:android

时间:2017-05-31 17:55:37

标签: android firebase firebase-realtime-database nosql

当我们使用limittoLast ()查询数据时,

Firebase值事件侦听器将返回null值 示例

Root:
   "name":"RAJ"

我的查询就像

rootRef.child("name").limitToLast(10).addValueEventListenerForSingleValue {
@OverRide
public void onDataChange (DataSnapShot datasnap) {
// some code here 
 Log .d ("Data ", String.value (datasnap.getValue ());
 //the above will return null
}
}

但同样的查询几乎没有修改

rootRef.child("name").addValueEventListenerForSingleValue { ...}

它将返回正确的值" RAJ"

如果我使用limitToLast为特定节点检索数据,我没有得到它背后发生的事情

如果我们检索json对象

,查询将起作用

1 个答案:

答案 0 :(得分:0)

正如您在示例中所做的那样,将limitToLast(N)添加到DatabaseReference会产生一个Query,用于评估参考位置的 children 并返回包含不超过N个子项的数据的快照。在您的情况下,位置name没有子节点,因此快照为空。

Query提供了用于排序和过滤子数据的其他方法。这些是described in the documentation