我正在尝试按每个帖子子项上的时间戳对我的 Firebase 查询进行排序。相反,我只是获取存储在数据库中的未排序数据。我正在使用 firebase npm 包。数据结构如下:posts -Lsx-tFbXe83gANXP3TD -timestamp: 1466171493193 -Lsx-sWzXe83gANWNM3R -timestamp: 1466171493111这是我使用的 javascript 代码:https : //firebase.google.com/docs/database/web/lists-of-datafirebase.database() .ref("posts") .orderByChild("timestamp") .on("value", function(snapshot) { _this.setState({ posts: Object.values(snapshot.val()), loading: false });});提前致谢!
1 回答
青春有我
TA贡献1784条经验 获得超8个赞
在snapshot
你回来包含三个条关于符合您查询子节点信息:
钥匙
价值
他们之间的相对位置
一旦你调用snapshot.val()
所有关于排序的信息就会丢失,因为 JSON 对象只能包含键和值。
为了保持顺序,您需要将信息转换为数组:
var values = [];
snapshot.forEach(function(child) {
values.push(child.val());
})
添加回答
举报
0/150
提交
取消