为什么firebase orderByChild不能用于时间戳?

时间:2017-06-07 19:28:39

标签: android firebase firebase-realtime-database

我有一个帖子列表。每个帖子都在firebase servervalue timestamp中包含createdAt

比方说,我的帖子标题是1,2,3,4,5。当我这样做时。

const userPostsRef = database.ref(`userPosts/${uid}`)
                    .orderByChild('createdAt').limitToLast(10);`

它仍然返回1,2,3,4,5。我想要的是5,4,3,2,1

我尝试了导航时间戳,但它确实有效。为什么?这是否意味着我必须使用另一个带有负时间戳的子orderTimestamp进行反向查询?

更新json

我的意思是limitToLast();

userPosts
 sms|5797235fe618d33da2eb0ad3

  -Km2l4HHE3pONRnA2Akp
   createdAt: 1496859301233
   o: -1496859301233
   title: "2"

 -Km2l5QQRi1F66LJkM45
  createdAt: 1496859305916
  o: -1496859305916
  title: "3"

 -Km2uTa8tAe0G5cJ2U-B
  createdAt: 1496861764218
  o: -1496861764218
  title: "4"

 -Km2uUrfwvY90Im06kg4
  createdAt: 1496861769435
  o: -1496861769435
  title: "5"

orderByChild( 'createdAt')

enter image description here

orderByChild( 'O')

enter image description here

1 个答案:

答案 0 :(得分:2)

它总是按升序返回,客户端可以按照您想要的方式对其进行排序。如果你有1,2,3,4,5,6,7,8,9,10,11,12,13,14,15并且你想要15,14,13,12,11你会做{{1而是获得11,12,13,14,15然后在客户端上向后排序。