我想查询该orderByValue它总是返回null 但是,当我删除.orderByValue数据正常加载。请帮忙查询firebase数据库得到null
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("newfeed").child(FirebaseRef.mAuth.getCurrentUser().getUid()).orderByValue().limitToFirst(10).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
for (DataSnapshot data : dataSnapshot.getChildren()) {
lastRating = data.getValue(Double.class);
loadData(data.getKey());
Log.d("Key ", data.getKey());
}
}
else{
mProgressBar.setVisibility(RecyclerView.GONE);
mProgressBarTop.setVisibility(RecyclerView.GONE);
}
}
@Override public void onCancelled(DatabaseError databaseError) {
mProgressBar.setVisibility(RecyclerView.GONE);
}
});
}
这里是我的JSON的例子。
"newfeed" : {
"7gE2qiqoblSHDHubiEW0IzrhzIQ2" : {
"-Kn090eIxMH338xIwA8J" : 69259.23018812927,
"-Kn092jf25h2Qdmk--RX" : 69268.71984827428,
"-Kn093LPOBCCE1-Ygx6t" : 69270.82899176712,
"-Kn093P2PE2rIml4XyKI" : 121518.05765189118,
"-Kn09lD0cGUhRQPbvJtS" : 69394.93008559482,
"-Kn0BYI-7IQzkCmBH8gN" : 69892.8262113143,
"-Kn4UkNCe1rhpiJ_Rrew" : 3133576.6418433865
}
你已经在你的问题中包含了JSON树的图片。请用实际的JSON替换为文本,您可以通过单击[您的Firebase数据库控制台](https://console.firebase.google.com/project/_/database/data/)中的导出JSON链接轻松获取该文本。 。将JSON作为文本可以搜索,使我们能够轻松使用它来测试您的实际数据,并将其用于我们的答案中,并且通常只是一件好事。 –
@FrankvanPuffelen对不起,刚添加。 – LIPONEF
如果使用'addValueEventListener',它有什么区别吗?查看https://stackoverflow.com/questions/34486417/firebase-offline-capabilities-and-addlistenerforsinglevalueevent了解addListenerForSingleValueEvent行为的一些细节(虽然不确定为什么只有在使用orderByValue()时才会这样) 。正如那篇文章所描述的,当使用'addListenerForSingleValueEvent'时可能需要调用'keepSynced(true)' –