首页 > 解决方案 > Firebase 防止按字母顺序排序

问题描述

我想创建一个结构,让我可以将喜欢添加到我的个人资料的点赞节点中。但是,我尝试使用此链接将帖子的密钥添加到我的喜欢节点,但是当我将旧帖子添加到我的喜欢节点时,它不会添加到末尾。它按字母顺序自动添加。我不想要这个。我想按日期添加帖子的密钥。

https://github.com/firebase/FirebaseUI-Android/blob/master/database/README.md#data-model

{
  "data": {
    // This order doesn't matter, the order is taken from keys/(user1 or user2).
    "3": true,
    "1": "some data",
    "2": 5
  },
  "keys": {
    // These two users have different orders for their data thanks to key side ordering.
    "user1": {
      "1": true,
      "2": true,
      "3": true
    },
    "user2": {
      "3": true,
      "2": true,
      "1": true
    }
  }
}

首先我喜欢“3”,然后我喜欢“2”和“1”,但它不像上面的结构那样显示。它显示为这样

"user2": {
          "1": true,
          "2": true,
          "3": true

但我希望它看起来像下面。

"user2": {
          "3": true,
          "2": true,
          "1": true

标签: androidfirebasefirebase-realtime-database

解决方案


键在 Firebase 控制台中始终按顺序显示。您无法更改控制台显示数据的方式。

如果您想对您的键进行排序,您需要在该键下创建一些数据,您可以使用这些数据对该数据的查询进行排序。例如,您可以选择在节点下放置时间戳以创建时间顺序。

阅读有关实时数据库查询的更多信息,了解您可以做什么。


推荐阅读