如何根据密钥对 Firebase 控制台中的节点进行排序

Posted

技术标签:

【中文标题】如何根据密钥对 Firebase 控制台中的节点进行排序【英文标题】:How to order the nodes in firebase console based on key 【发布时间】:2018-03-20 16:54:33 【问题描述】:

我有一个用于密钥 1 到 1400 的用户的节点,但它不按顺序排列。 热门在控制台中按顺序查看。我在另一个节点上也有类似的经历。但它后来被自动订购

【问题讨论】:

无法更改 Firebase 数据库控制台中节点的顺序。但在大多数情况下,它们实际上应该按键排序。您可以编辑您的问题以包含数据的屏幕截图吗? 【参考方案1】:

很遗憾,您无法在 Firebase 数据库控制台中更改节点的顺序。默认情况下,所有节点都是按键排序的。要记住的一件事是 Firebase 密钥是 Strings。并且当字符串是有序的时候,是有序的lexicographically

所以对于数字,这是正常的顺序:

1308 1309 1310 1311

但是对于字符串,这是正常的顺序:

“1308” “1309” “131” “1310”

Firebase 中没有操作员,据我所知,在大多数其他数据库中也没有允许您更改此行为的操作员。相反,您将不得不修改数据以获得您想要的行为。因此,在按字典顺序排序时,按照您需要的顺序存储值。对于数字,您可以通过用零填充它们来实现:

"0131" //前面加零 "0132" //前面加零 ...... “1308” “1309” “1310” “1311”

【讨论】:

以上是关于如何根据密钥对 Firebase 控制台中的节点进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在不从参考节点获取所有数据的情况下获取 Firebase 数据库中的随机键?

控制台中的 Firebase 无效 api 密钥错误

Firebase实时数据库如何在没有密钥的情况下获取子记录

限制 Firebase API 密钥

如何根据位置从“回收”视图中删除Firebase数据库密钥

如何对firebase自动生成的密钥进行排序?