如何按升序对Firebase密钥进行排序?

时间:2017-04-07 10:22:47

标签: android firebase firebase-realtime-database firebaseui

我的Firebase数据库中有一个产品列表。我的SKU看起来像c08p10。但问题是在第十个产品之后显示了百件产品。

请参阅屏幕截图,了解混乱的产品订单。

enter image description here

我可以理解产品按字母顺序排列。但是我如何按以下顺序显示产品

c08p10
c08p11
c08p12

注意

我可以在列表视图或回收站视图中填充数据。但是产品按照firebase DB顺序排列。如果我试图颠倒顺序。它给出了以下结构。

c08p118
c08p117
c08p116

1 个答案:

答案 0 :(得分:3)

Firebase键是字符串。当您订购字符串数据时,它按字典顺序排序。

因此对于数字,这是正常的顺序:

  • 1
  • 9
  • 10
  • 11

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

  • “1”
  • “11”
  • “19”
  • “9”

Firebase(在大多数其他数据库中)中没有运算符可以更改此行为。相反,您必须修改数据才能获得所需的行为。因此:按字典顺序排序时,按照您需要的顺序存储值。对于数字,您可以通过用零填充它们来实现这一点:

  • “001”
  • “009”
  • “011”
  • “019”

或者在您的情况下c09p010等。

相关问题