根据子值对 Firebase 数据进行排序

我正在尝试按每个帖子子项上的时间戳对我的 Firebase 查询进行排序。相反,我只是获取存储在数据库中的未排序数据。我正在使用 firebase npm 包。


数据结构如下:


posts

   -Lsx-tFbXe83gANXP3TD

       -timestamp: 1466171493193

   -Lsx-sWzXe83gANWNM3R

       -timestamp: 1466171493111

这是我使用的 javascript 代码:https : //firebase.google.com/docs/database/web/lists-of-data


firebase.database()

      .ref("posts")

      .orderByChild("timestamp")

      .on("value", function(snapshot) {

        _this.setState({

          posts: Object.values(snapshot.val()),

          loading: false

      });

});

提前致谢!


qq_花开花谢_0
浏览 101回答 1
1回答

青春有我

在snapshot你回来包含三个条关于符合您查询子节点信息:钥匙价值他们之间的相对位置一旦你调用snapshot.val()所有关于排序的信息就会丢失,因为 JSON 对象只能包含键和值。为了保持顺序,您需要将信息转换为数组:var values = [];snapshot.forEach(function(child) {  values.push(child.val());})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript