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对象
,查询将起作用答案 0 :(得分:0)
正如您在示例中所做的那样,将limitToLast(N)
添加到DatabaseReference会产生一个Query,用于评估参考位置的 children 并返回包含不超过N个子项的数据的快照。在您的情况下,位置name
没有子节点,因此快照为空。
Query提供了用于排序和过滤子数据的其他方法。这些是described in the documentation。