Firebase realtime database Flatter Firebase数据库错误的时间戳顺序
我试图将时间戳设置到firebase实时数据库中,但在检索时,并没有按时间戳排序。 我确实喜欢这样Firebase realtime database Flatter Firebase数据库错误的时间戳顺序,firebase-realtime-database,flutter,Firebase Realtime Database,Flutter,我试图将时间戳设置到firebase实时数据库中,但在检索时,并没有按时间戳排序。 我确实喜欢这样 FirebaseDatabase.instance.reference().child('path').push().set({ 'timestamp': ServerValue.timestamp }); 这是节点 然后我就这样找回了 FirebaseDatabase.instance.reference().child('path').orderByChild('time
FirebaseDatabase.instance.reference().child('path').push().set({
'timestamp': ServerValue.timestamp
});
这是节点
然后我就这样找回了
FirebaseDatabase.instance.reference().child('path').orderByChild('timestamp').once().then((snap) {
print(snap.value);
});
但产出是这样的
{-LJhyfmrWVDD2ZgJdfMR: {timestamp: 1534074731794}, -LJhyWVi6LddGwVye48K: {timestamp: 1534074689667}, -LJhzDlvEMunxBpRmTkI: {timestamp: 1534074875091}
这些不是按时间戳排序的。
我错过什么了吗?
否则,这是firebase错误还是颤振?数据将以正确的顺序检索到DataSnapshot中。但是,当您调用snap.value时,快照中的信息必须转换为映射,该映射不再能够保存有关子节点顺序的信息 要保持顺序,必须使用循环处理DataSnapshot中的子节点。我根本不是颤振方面的专家,但我无法很快找到一种方法为价值事件做到这一点。因此,您可能希望改为倾听。childAdded:
数据按正确的顺序检索到DataSnapshot中。但是,当您调用snap.value时,快照中的信息必须转换为映射,该映射不再能够保存有关子节点顺序的信息 要保持顺序,必须使用循环处理DataSnapshot中的子节点。我根本不是颤振方面的专家,但我无法很快找到一种方法为价值事件做到这一点。因此,您可能希望改为倾听。childAdded:
很抱歉迟了答复。它工作得很好!如果我使用DateTime.now.millissecondssinceepoch,它也可以工作吗?类型为int,但文档显示自1970年以来的毫秒数。所以我想它是有效的,但我只是想确定一下。@daibakudi你找到解决办法了吗?很抱歉回复太晚了。它工作得很好!如果我使用DateTime.now.millissecondssinceepoch,它也可以工作吗?类型为int,但文档显示自1970年以来的毫秒数。所以我想它是有效的,但我只是想确定一下。@daibakudi你找到解决办法了吗?
FirebaseDatabase.instance
.reference()
.child('path')
.orderByChild('timestamp')
.onChildAdded
.listen((Event event) {
print(event.snapshot.value);
})