【发布时间】:2018-09-24 12:42:36
【问题描述】:
我正在尝试从我的 firebase 数据库中获取消息数据集,并希望消息按添加/时间戳排序。但由于某种原因,我在代码中输入的 orderby 并没有被实际使用。我尝试做这两件事。
_messagesRef = FirebaseDatabase.instance.reference().child('messages/'+key);
_membersSubscription = _messagesRef
.orderByChild('timestamp')
.onValue//On valuechange
.listen((Event event) => _messagesSubscriptionCallback(event));
_messagesRef = FirebaseDatabase.instance.reference().child('messages/'+key);
_membersSubscription = _messagesRef
.orderByKey()
.onValue//On valuechange
.listen((Event event) => _messagesSubscriptionCallback(event));
两者都返回给我相同的数据集,该数据集未按回调中的时间戳或键排序。我在下面添加了输出
{
-LA-Aw6crEAV53LxdujP:{
sender:1508,
message:test s9 2,
timestamp:1523642778089
},
-LA-Arby61T1UG5URMn6:{
sender:1508,
message:test s9,
timestamp:1523642759679
},
-LA-AyC7F8KAqceZBE3j:{
sender:1509,
message:test emu 1,
timestamp:1523642786632
},
-LA22WiUfL2tbh7-OjtM:{
sender:1508,
message:Blaj,
timestamp:1523690904480
},
-LA-B29RRXbdOPT1mG7m:{
sender:1508,
message:tesy3,
timestamp:1523642806940
}
}
数据应该是这样的。
我希望有人可以帮助我解决这个问题。我想我可能会误解如何使用 Firebase 订购数据
亲切的问候, 纳马尼克斯
【问题讨论】:
-
好问题哈哈。忘记补充了。键等于“一” 这在此评论中毫无意义。但是,如果您查看屏幕截图,您会看到“一”是什么:)
-
不幸的是仍然是相同的输出
标签: firebase firebase-realtime-database flutter