【问题标题】:How Order data by two field in firebase如何在firebase中按两个字段排序数据
【发布时间】:2021-08-18 07:55:39
【问题描述】:

我如何按两个字段对数据文档进行排序,我的应用程序有一个流构建器,我希望在写入的时间以及如果待办事项很重要,那么文档中有两个字段一个时间并且有布尔值 我想要按时间排序的数据,如果数据重要,则意味着布尔真值位于流列表的顶部,并且当我添加数据时将显示它。这是我用于 strem 的代码

final FirebaseFirestore firestore;
  DataBase({this.firestore});
  Stream streamTodos({String uid}) {
    try {
      return firestore
          .collection("homeNeeds")
          .doc(uid)
          .collection('homeNeeds')
          .orderBy('time', descending: true)
          .snapshots();

    
    } catch (e) {
      return e;
    }
  }

// 我试图把两个 orderBy('time', descending: true).orderBy('pin', descending: true) 并且它不起作用快照返回空

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    我通过在 cloud firestore 中添加索引解决了这个问题,该选项允许您在同一代码中使用 tow orderby

    【讨论】:

      【解决方案2】:

      在这种情况下,您可以使用 multi_sort: ^3.0.0。

      https://pub.dev/packages/multi_sort

      【讨论】:

        【解决方案3】:

        看来这并不像说可以或不可以那么简单,这取决于您的具体情况,但很可能您必须在客户端进行。

        There is another question like this one here:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-15
          • 1970-01-01
          • 2016-10-19
          • 1970-01-01
          • 2021-11-23
          相关资源
          最近更新 更多