Firestore进行复合查询,但我需要一个查询

时间:2019-09-23 16:53:18

标签: google-cloud-firestore sql-order-by

我正在获取所有包含特定值的文档,并按“时间戳”对其进行排序。

 var snapshot = await Firestore.instance
      .collection('posts')
      .where('exam', isEqualTo: _doc)
      .orderBy(
        'timestamp',
        descending: true,
      )
      .limit(50)
      .getDocuments();

但是Firestore进行复合查询,并按“考试”(字母)和“时间戳”进行排序。 我的代码应该如何只按“时间戳”查询?

屏幕截图: Database structure Indexes

临时解决方法:我重新排列了文档。

  List<Post> newPost =
      snapshot.documents.map((doc) => Post.fromDocument(doc)).toList();
    setState(() {
      posts = List.from(posts..addAll(newPost));
      posts.sort((a, b) => b.timestamp.compareTo(a.timestamp));
    });

0 个答案:

没有答案