相关疑难解决方法(0)

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

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

我想按日期排序问题,我想按最新和最受欢迎的问题排序。

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

日期:“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 中订购数据

最好的问候,鲁斯本

firebase flutter google-cloud-firestore

5
推荐指数
1
解决办法
4710
查看次数

如何修复 'getter "documents" 在 null 上被调用。扑腾

我正在使用 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

3
推荐指数
1
解决办法
1万
查看次数