我正在构建一个应用程序,用户可以在其中写入我的数据库并向其他用户提问,例如医生应用程序。医生可以回答问题的地方。
我想按日期排序问题,我想按最新和最受欢迎的问题排序。
我尝试通过以下方式订购最新的:
日期:“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 中订购数据
最好的问候,鲁斯本
我正在使用 flutter 和 firebase 来创建一个移动应用程序。我的 firestore 上有 2 个集合,我想阅读集合“帖子”中的所有文档。但是,当我这样做时,出现错误,指出在 null 上调用了 getter“文档”。
Widget getContent(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: Firestore.instance.collection("posts").snapshots(),
builder: (context, snap) {
return CarouselSlider(
enlargeCenterPage: true,
height: MediaQuery.of(context).size.height,
items: getItems(context, snap.data.documents),
);
},
);
}
List<Widget> getItems(BuildContext context, List<DocumentSnapshot>
docs){
return docs.map(
(doc) {
String content = doc.data["content"];
return Text(content);
}
).toList();
}
Run Code Online (Sandbox Code Playgroud)
我希望在所有文档中都提供数据,但 nut 却收到了这个错误:
I/flutter (30878): ??? EXCEPTION CAUGHT BY WIDGETS LIBRARY ????????????????????????????????????????????????????????????
I/flutter (30878): The following NoSuchMethodError was thrown building StreamBuilder<QuerySnapshot>(dirty,
I/flutter (30878): dependencies: [MediaQuery], …Run Code Online (Sandbox Code Playgroud) android mobile-application firebase flutter google-cloud-firestore