所以我从firebase实时学习了一些新东西,用于聊天。
但是我仍然困惑如何做出动作“如何像php一样订购”
所以我有一些这样的代码
if .. else ..
这里是我的数据库
如何使用lastupdate子命令限制asc和desc方法的限制?我正在搜索主要是针对Android的参考书。
答案 0 :(得分:0)
您已经在检索他们的lastupdate
排序的数据,并且从“ now”开始。但是您用于处理结果的代码不正确。
在回调中,您需要使用forEach
遍历数据库的结果,然后将每个单独的节点添加到HTML。看起来像这样:
firebase.database().ref('message/notification').orderByChild("lastupdate").startAt(timenow).on('value',function(snapshot){
listuser.innerHTML = "";
snapshot.forEach(function(notificationSnapshot) {
listuser.innerHTML += notificationSnapshot.val().name;
});
});
或者,您可以监听child_added
事件而不是value
,这意味着Firebase会为您添加的每个孩子呼叫您。通过监听child_added
,您将不需要在回调中循环:
firebase.database().ref('message/notification').orderByChild("lastupdate").startAt(timenow).on('child_added',function(snapshot){
listuser.innerHTML += snapshot.val().name;
});
无法按降序从Firebase检索数据,因此您必须在应用程序代码中将其取反。最简单的方法是更改将其添加到HTML的方式,以始终将新数据添加到现有HTML:
listuser.innerHTML = snapshot.val().name + listuser.innerHTML;
最后:关于Firebase的问题已经成千上万了,因此,如果您可以根据自己的需求进行搜索,那么它确实会有所帮助。例如:要查找有关JavaScript中实时数据库的问题,我倾向于search for the combination of those tags。通过为搜索添加更多字词,通常可以很好地放大。例如:这些是关于querying in descending order的问题。