Firebase 如何在Flatter中从Firestore订购数据,orderBy订购不正确
我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,比如医生应用程序。在那里医生可以回答问题 我想按日期排序问题,我想按最新的,也是最流行的排序问题 我尝试通过以下方式订购最新的: 日期:“2019年9月29日” 但这似乎不起作用。因此,我想知道如何从firebase的查询中正确地排序数据。或者我必须在firebase中将日期存储为long,然后转换它吗 此外,我想根据有多少用户通过以下方式观看了特定问题,排序最受欢迎的问题: 问题视图:“3”,问题视图:“1032”等 但这也不能正确地进行排序 我看到了一篇来自传奇人物弗兰克·冯·帕芬(Frank von Puphen)的精彩文章,但我并不真正理解这一点,所以我想知道是否有人能在这方面帮助我 以下是他的帖子: 致以最良好的祝愿, 罗斯本 我尝试通过以下方式订购最新的: 日期:“2019年9月29日” 但这似乎不起作用 由于您的Firebase 如何在Flatter中从Firestore订购数据,orderBy订购不正确,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,比如医生应用程序。在那里医生可以回答问题 我想按日期排序问题,我想按最新的,也是最流行的排序问题 我尝试通过以下方式订购最新的: 日期:“2019年9月29日” 但这似乎不起作用。因此,我想知道如何从firebase的查询中正确地排序数据。或者我必须在firebase中将日期存储为long,然后转换它吗 此外,我想根据有多少用户通过以下方式观看了特定问题,排序最受欢迎的问题: 问题视图:“3”,问题视图:“1032”等 但这也
date
属性的类型为String,因此它将不起作用。在对字符串排序时,请记住字符串是按顺序排序的
因此,我想知道如何从firebase的查询中正确地排序数据
要解决此问题,应将属性的类型更改为日期
。在这种情况下,你会得到一个时间顺序
或者我必须在firebase中将日期存储为long,然后转换它吗
这是一个元素排序的解决方案,用于实时数据库,而不是云Firestore
我看到了一篇来自传奇人物弗兰克·冯·帕芬(Frank von Puphen)的精彩文章,但我并不真正理解这一点,所以我想知道是否有人能在这方面帮助我
在这种情况下,
station
属性将整数作为字符串值保存,事实上也是如此。在这种情况下,解决方案是将属性的类型更改为数字或填充数字,使它们都具有相同的长度,但在您的情况下,属性的类型应明确为Date
和而不是字符串。Hi@AlexMamo,感谢您的回复。那么这就是最好的解决方案了?->新的日期格式(“d MMMM yyy HH:mm”).format(新的DateTime.now());->我之所以想知道,是因为我想在UI中显示该格式的数据。编辑:或者没关系,不管怎样,它最终都会变成一个字符串。取而代之,我在检索数据时转换它。不客气。关于这个,请检查并告诉我它是否有效。嗨,鲁斯本!我能帮你了解其他信息吗?如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头的左边。应该换成绿色。我真的很感激。谢谢!@AlexMamo哇,他得到答案后跑掉了啊哈哈
Firestore.instance
.collection("Questions")
.orderBy("date", descending: true) // 1 will be last, 31 will be latest
.snapshots(),
Firestore.instance
.collection("Questions")
.orderBy("questionsView")
.snapshots(),