android - 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
解决方案
键在 Firebase 控制台中始终按顺序显示。您无法更改控制台显示数据的方式。
如果您想对您的键进行排序,您需要在该键下创建一些数据,您可以使用这些数据对该数据的查询进行排序。例如,您可以选择在节点下放置时间戳以创建时间顺序。
阅读有关实时数据库查询的更多信息,了解您可以做什么。
推荐阅读
- python - 以矩阵为输出的 NN 多元回归
- c# - 在 Visual Studio 中编写简单代码测试的最佳方法
- angular - Angular中的DomSanitizer不适用于Transform css属性
- ruby - 如何在 ruby 中转置哈希数组
- python - 如何避免从网站网页抓取中创建空 csv?
- r - 使用 R 进行线性优化
- azure-devops - 如何访问 Azure DevOpps 组织
- camera - 如何从相机固有矩阵计算 KITTI 相机的水平和垂直 FOV?
- graphql - 使用 GraphQL,是否可以通过数据类型为 Int 的属性进行 SQL 注入?
- php - 无法从数据库中的另一个表中获取值