Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何在Flatter中从Firestore订购数据,orderBy订购不正确_Firebase_Flutter_Google Cloud Firestore - Fatal编程技术网

Firebase 如何在Flatter中从Firestore订购数据,orderBy订购不正确

Firebase 如何在Flatter中从Firestore订购数据,orderBy订购不正确,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,比如医生应用程序。在那里医生可以回答问题 我想按日期排序问题,我想按最新的,也是最流行的排序问题 我尝试通过以下方式订购最新的: 日期:“2019年9月29日” 但这似乎不起作用。因此,我想知道如何从firebase的查询中正确地排序数据。或者我必须在firebase中将日期存储为long,然后转换它吗 此外,我想根据有多少用户通过以下方式观看了特定问题,排序最受欢迎的问题: 问题视图:“3”,问题视图:“1032”等 但这也

我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,比如医生应用程序。在那里医生可以回答问题

我想按日期排序问题,我想按最新的,也是最流行的排序问题

我尝试通过以下方式订购最新的:

日期:“2019年9月29日”

但这似乎不起作用。因此,我想知道如何从firebase的查询中正确地排序数据。或者我必须在firebase中将日期存储为long,然后转换它吗

此外,我想根据有多少用户通过以下方式观看了特定问题,排序最受欢迎的问题:

问题视图:“3”,问题视图:“1032”等

但这也不能正确地进行排序

我看到了一篇来自传奇人物弗兰克·冯·帕芬(Frank von Puphen)的精彩文章,但我并不真正理解这一点,所以我想知道是否有人能在这方面帮助我

以下是他的帖子:

致以最良好的祝愿, 罗斯本

我尝试通过以下方式订购最新的:

日期:“2019年9月29日”

但这似乎不起作用

由于您的
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(),