在kFirebaseServerValueTimestamp上执行数学运算

时间:2016-01-15 16:53:34

标签: ios objective-c firebase

在此帖子的其中一条评论中:firebaseArray descending order?,Firebase员工建议将时间戳乘以-1,以按日期降序排序。

这是我想要实现的一个想法,但是,我很难做到这一点因为kFirebaseServerValueTimestamp是一个http://localhost:3000/crisis-center/2 ,其密钥为“.sv”,值为“时间戳”。

当我尝试隔离该值时,我所能获得的是http://localhost/crisis-center/2 The requested URL /crisis-center/2 was not found on this server. ,其中包含“timeStamp”。

有没有办法在@RouteConfig([ { // Crisis Center child route path: '/crisis-center/...', name: 'CrisisCenter', component: CrisisCenterComponent, useAsDefault: true }, {path: '/heroes', name: 'Heroes', component: HeroListComponent}, {path: '/hero/:id', name: 'HeroDetail', component: HeroDetailComponent}, {path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter', 'CrisisDetail', {id:3}]} ]) 上执行数学运算?

1 个答案:

答案 0 :(得分:2)

kFirebaseServerValueTimestamp是一个实际用作firebase在写入数据时填充的占位符的属性。

来自文档:

  

服务器值 - 您可以写入Firebase的占位符值   数据库作为将自动填充的值或优先级   在写入Firebase数据库之前。

     

kFirebaseServerValueTimestamp - 自以后的毫秒数   Unix纪元

例如,如果您希望将时间戳基于Firebase服务器时间,那么

Firebase *timeStampsRef = [self.myRootRef childByAutoId];

[timeStampsRef setValue:kFirebaseServerValueTimestamp];

Firebase *timeStampsRef2 = [self.myRootRef childByAutoId];

[timeStampsRef2 setValue:kFirebaseServerValueTimestamp];

会导致以下

-K861VyNBisoAL14dHsk: 1452890788194
-K861VyNBisoAL14dHsl: 1452890788195

如果要对Firebase数据进行排序,则应将timestamp属性包含为要排序的节点的子项。

pizza_time
  node_id_0
   timeStamp: 20160109153000
   location: "Pizza House"
  node_id_1
   timeStamp: 20160110153000
   location: "Pizza Place"
  node_id_2
   timeStamp: 20160114153000
   location: "Pizza Busters"

然后,您可以按日期排序,从一个日期查询节点到另一个日期或各种其他数据杂技。