gpt4 book ai didi

java - Firestore - 按降序排序

转载 作者:行者123 更新时间:2023-12-02 01:51:43 25 4
gpt4 key购买 nike

在我的 Firestore 数据库中,我的字段索引号为 no,数据类型为字符串,但数据为数字,如 1、2、3 等。

collectionReference
.orderBy("indexNo", Query.Direction.DESCENDING)

到9为止输出都可以,9之后即10、11、12,数据显示为1、10、11、12、2、3等。

请指导我解决这个问题,因为这些数字将决定卡片 View 项目在回收器 View 中的排列。

谢谢...

最佳答案

如果 indexNo 属性的数据类型是 String 类型,并且您想使用 Query.Direction.DESCENDING 对结果进行排序,则结果将不是这是预期的结果,因为当您对字符串进行排序时,结果会按字典顺序排序。有两种方法可以解决此问题。第一个是将属性的数据类型从字符串更改为数字,我个人推荐它。

这是数字的正常顺序:

  • 1308
  • 1309
  • 1310
  • 1311

这是字符串的正常顺序:

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

第二种方法是修改数据以获得您想要的行为。对于数字,您可以通过用零填充来实现这一点,如下例所示:

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

关于java - Firestore - 按降序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52907271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com