Rus*_*koz 5 firebase flutter google-cloud-firestore
我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,例如医生应用程序。医生可以回答问题的地方。
我想按日期排序问题,我想按最新和最受欢迎的问题排序。
我尝试通过以下方式订购最新的:
日期:“2019 年 9 月 29 日”
Firestore.instance
.collection("Questions")
.orderBy("date", descending: true) // 1 will be last, 31 will be latest
.snapshots(),
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。所以我想知道如何从 firebase 的查询中正确排序数据。或者我是否必须将日期存储在 firebase 中,然后再进行转换?
此外,我想根据有多少用户通过以下方式观看了该特定问题,对最受欢迎的问题进行排序:
问题视图:“3”,问题视图:“1032”等
Firestore.instance
.collection("Questions")
.orderBy("questionsView")
.snapshots(),
Run Code Online (Sandbox Code Playgroud)
但这也不能正确排序。
我看到了传奇人物弗兰克·冯·普芬 (Frank von Puffen) 的一篇很棒的帖子,但我并没有真正理解这一点,所以我想知道是否有人可以帮助我解决这个问题。
这是他的帖子: 在 FireStore 中订购数据
最好的问候,鲁斯本
我尝试通过以下方式订购最新的:
日期:“2019 年 9 月 29 日”
但这似乎不起作用。
它不会工作,因为你的date属性是字符串类型。对字符串进行排序时,请记住字符串是按字典顺序排序的。
所以我想知道如何从 firebase 的查询中正确排序数据。
要解决此问题,您应该将属性的类型更改为Date. 在这种情况下,您将得到一个时间顺序。
或者我是否必须将日期存储在 firebase 中,然后将其转换?
这是用于实时数据库而不是Cloud Firestore 的元素排序解决方案。
我看到传奇人物 Frank von Puffen 的一篇很棒的帖子,但我不太明白,所以我想知道是否有人可以帮助我解决这个问题。
在这种情况下,该station属性将整数保存为字符串值,这实际上是同一件事。在这种情况下,解决方案是将属性的类型更改为数字或填充数字,使它们都具有相同的长度,但在您的情况下,属性的类型应该明确是Date而不是字符串。
| 归档时间: |
|
| 查看次数: |
4710 次 |
| 最近记录: |