orderByChild按字典顺序而不是按指定键对键排序

Tyl*_*nis 2 firebase

我的Firebase架构如下所示,

在此处输入图片说明

我正在尝试获取数据general并按numberOfLikes属性对其进行排序。据我了解orderByChild,以下代码应该可以工作。

var ref = new Firebase('http://myapp.firebaseio.com/floorPosts/general');
ref.orderByChild('numberOfLikes').once('value', (snapshot) => {
  return snapshot.val();
});
Run Code Online (Sandbox Code Playgroud)

但是,我不是按照我的数据按numberOfLikes排序,而是使用按字典顺序对键排序的数据。

Fra*_*len 5

JSON对象的属性未定义。由于val()返回表示该值的JSON对象,因此其中的属性顺序未定义。

为了使孩子们有正确的顺序,请使用DataSnapshot.forEach():

var ref = new Firebase('http://myapp.firebaseio.com/floorPosts/general');
ref.orderByChild('numberOfLikes').once('value', (snapshot) => {
  snapshot.forEach(function(childSnapshot) {
    console.log(childSnapshot.val());
  });
});
Run Code Online (Sandbox Code Playgroud)