根据时间戳排序firebase对象

时间:2016-01-12 05:58:57

标签: angularjs firebase

我正在使用Firebase开发聊天应用程序。在我的聊天应用程序中,我聊天了Inbox。我需要根据时间戳对收件箱聊天进行排序。

要从Firebase加载对象,我使用以下代码:

var chatwith = new Firebase(firbaseUrl+'/chatInbox/'+$scope.userId);
     var list = $firebaseArray(chatwith);
     list.$loaded().then(function() {
         $scope.dataList = list;
         $scope.dataLength = $scope.dataList.length;
         if (!$scope.$$phase) $scope.$apply();

     });

我需要根据时间戳对$scope.dataList对象进行排序。有可能吗?

请建议

1 个答案:

答案 0 :(得分:0)

回答你的问题

  

我需要根据时间戳对$ scope.dataList对象进行排序。有可能吗?

是的,可以,你可以像这样使用orderByChild

var chatwith = new Firebase(firbaseUrl+'/chatInbox/'+$scope.userId);
chatwith = chatwith.orderByChild('NAME_OF_THE_FIELD_TIMESTAMP');
     var list = $firebaseArray(chatwith);
     list.$loaded().then(function() {
         $scope.dataList = list;
         $scope.dataLength = $scope.dataList.length;
         if (!$scope.$$phase) $scope.$apply();
     });

不要忘记在这样的生产中定义数据索引

{
  "rules": {
    "chatInbox": {
      ".indexOn": ["NAME_OF_THE_FIELD_TIMESTAMP", "OTHER_FIELD"]
    }
  }
}